1. 19 Sep, 2018 1 commit
  2. 18 Sep, 2018 23 commits
    • re PR libstdc++/87135 ([C++17] unordered containers violate iterator validity requirements) · a521e626
      2018-09-18  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/87135
      	* src/c++11/hashtable_c++0x.cc:
      	(_Prime_rehash_policy::_M_next_bkt): Return a prime no smaller than
      	requested size, but not necessarily greater.
      	(_Prime_rehash_policy::_M_need_rehash): Rehash only if target size is
      	strictly greater than next resize threshold.
      	* testsuite/23_containers/unordered_map/modifiers/reserve.cc: Adapt test
      	to validate that there is no rehash as long as number of insertion is
      	lower or equal to the reserved number of elements.
      
      From-SVN: r264413
      François Dumont committed
    • re PR fortran/29550 (Optimize -fexternal-blas calls for conjg()) · 998511a6
      2018-09-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/29550
      	* gfortran.h (gfc_expr): Add external_blas flag.
      	* frontend-passes.c (matrix_case): Add case A2TB2T.
      	(optimize_namespace): Handle flag_external_blas by
      	calling call_external_blas.
      	(get_array_inq_function): Add argument okind. If
      	it is nonzero, use it as the kind of argument
      	to be used.
      	(inline_limit_check): Remove m_case argument, add
      	limit argument instead.  Remove assert about m_case.
      	Set the limit for inlining from the limit argument.
      	(matmul_lhs_realloc): Handle case A2TB2T.
      	(inline_matmul_assign): Handle inline limit for other cases with
      	two rank-two matrices.  Remove no-op calls to inline_limit_check.
      	(call_external_blas): New function.
      	* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Do not add
      	argument to external BLAS if external_blas is already set.
      
      2018-09-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/29550
      	* gfortran.dg/inline_matmul_13.f90: Adjust count for
      	_gfortran_matmul.
      	* gfortran.dg/inline_matmul_16.f90: Likewise.
      	* gfortran.dg/promotion_2.f90: Add -fblas-matmul-limit=1.  Scan
      	for dgemm instead of dgemm_.  Add call to random_number to make
      	standard conforming.
      	* gfortran.dg/matmul_blas_1.f90: New test.
      	* gfortran.dg/matmul_bounds_14.f: New test.
      	* gfortran.dg/matmul_bounds_15.f: New test.
      	* gfortran.dg/matmul_bounds_16.f: New test.
      	* gfortran.dg/blas_gemm_routines.f: New test / additional file for
      	preceding tests.
      
      From-SVN: r264412
      Thomas Koenig committed
    • re PR fortran/29550 (Optimize -fexternal-blas calls for conjg()) · 5c470e0f
      2018-09-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/29550
      	* gfortran.h (gfc_expr): Add external_blas flag.
      	* frontend-passes.c (matrix_case): Add case A2TB2T.
      	(optimize_namespace): Handle flag_external_blas by
      	calling call_external_blas.
      	(get_array_inq_function): Add argument okind. If
      	it is nonzero, use it as the kind of argument
      	to be used.
      	(inline_limit_check): Remove m_case argument, add
      	limit argument instead.  Remove assert about m_case.
      	Set the limit for inlining from the limit argument.
      	(matmul_lhs_realloc): Handle case A2TB2T.
      	(inline_matmul_assign): Handle inline limit for other cases with
      	two rank-two matrices.  Remove no-op calls to inline_limit_check.
      	(call_external_blas): New function.
      	* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Do not add
      	argument to external BLAS if external_blas is already set.
      
      2018-09-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/29550
      	* gfortran.dg/inline_matmul_13.f90: Adjust count for
      	_gfortran_matmul.
      	* gfortran.dg/inline_matmul_16.f90: Likewise.
      	* gfortran.dg/promotion_2.f90: Add -fblas-matmul-limit=1.  Scan
      	for dgemm instead of dgemm_.  Add call to random_number to make
      	standard conforming.
      	* gfortran.dg/matmul_blas_1.f90: New test.
      	* gfortran.dg/matmul_bounds_14.f: New test.
      	* gfortran.dg/matmul_bounds_15.f: New test.
      	* gfortran.dg/matmul_bounds_16.f: New test.
      	* gfortran.dg/blas_gemm_routines.f: New test / additional file for
      	preceding tests.
      
      From-SVN: r264411
      Thomas Koenig committed
    • re PR fortran/87239 (ICE in deferred-length string) · f435162f
      2018-09-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/87239
      	* trans-expr.c (gfc_trans_assignment_1): The rse.pre for the
      	assignment of deferred character elemental function results to
      	a realocatable lhs must not be added to the exterior block but
      	must go to the loop body.
      
      2018-09-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/87239
      	* gfortran.dg/elemental_function_2.f90 : New test.
      
      From-SVN: r264409
      Paul Thomas committed
    • P1064R0 - Allowing Virtual Function Calls in Constant Expressions · bf8d8309
      	P1064R0 - Allowing Virtual Function Calls in Constant Expressions
      	* call.c (build_over_call): No longer check if we're outside a template
      	function.
      	* class.c (build_vtbl_initializer): Build vtable's constructor with
      	indexes.
      	* constexpr.c (cxx_eval_constant_expression): Don't ignore _vptr's
      	initializer.  Handle OBJ_TYPE_REF.
      	(potential_constant_expression_1): Handle OBJ_TYPE_REF.
      	* decl.c (maybe_commonize_var): Bail out for any DECL_ARTIFICIAL.
      	(initialize_artificial_var): Mark the variable as constexpr.
      	(grokdeclarator): Change error to pedwarn.  Only warn when
      	pedantic and not C++2a.
      
      	* gimple-fold.c (gimple_get_virt_method_for_vtable): Adjust assert.
      
      	* g++.dg/cpp0x/constexpr-virtual5.C: Adjust dg-error.
      	* g++.dg/cpp2a/constexpr-virtual1.C: New test.
      	* g++.dg/cpp2a/constexpr-virtual2.C: New test.
      	* g++.dg/cpp2a/constexpr-virtual3.C: New test.
      	* g++.dg/cpp2a/constexpr-virtual4.C: New test.
      	* g++.dg/cpp2a/constexpr-virtual5.C: New test.
      	* g++.dg/cpp2a/constexpr-virtual6.C: New test.
      	* g++.dg/cpp2a/constexpr-virtual7.C: New test.
      	* g++.dg/cpp2a/constexpr-virtual8.C: New test.
      	* g++.dg/cpp2a/constexpr-virtual9.C: New test.
      	* g++.dg/diagnostic/virtual-constexpr.C: Skip for C++2a.  Use
      	-pedantic-errors.  Adjust dg-error.
      
      From-SVN: r264408
      Marek Polacek committed
    • re PR fortran/87336 (wrong output for pointer dummy assiocated to target actual argument) · e8db6cd5
      2018-09-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/87336
      	* trans-array.c (gfc_get_array_span): Try to get the element
      	length of incomplete types. Return NULL_TREE otherwise.
      	(gfc_conv_expr_descriptor): Only set the 'span' field if the
      	above does not return NULL_TREE. Set 'span' field if possible
      	for all new descriptors.
      
      2018-09-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/87336
      	* gfortran.dg/pointer_array_10.f90 : New test.
      	* gfortran.dg/assign_10.f90 : Increase 'parm' count to 20.
      	* gfortran.dg/transpose_optimization_2.f90 : Increase 'parm'
      	count to 72.
      
      From-SVN: r264405
      Paul Thomas committed
    • rs6000: Remove old "Cygnus sibcall" comment · b819cc44
      This comment is quite cryptic and very out-of-date by now.  Committing.
      
      
      	* config/rs6000/rs6000.md: Remove old "Cygnus sibcall" comment.
      
      From-SVN: r264403
      Segher Boessenkool committed
    • re PR c++/85065 ([concepts] ICE with invalid use of a concept) · c99fcada
      /cp
      2018-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85065
      	* cp-tree.h (NON_ERROR): New.
      	* pt.c (auto_hash::hash): Use it.
      	(do_auto_deduction): Likewise.
      
      /testsuite
      2018-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85065
      	* g++.dg/concepts/pr85065.C: New.
      
      From-SVN: r264402
      Paolo Carlini committed
    • Handle CLOBBER in reg_overlap_mentioned_p (PR86882) · b7663a76
      Combine will put CLOBBER (with a non-void mode) anywhere in a pattern
      to poison it.  reg_overlap_mentioned_p did not handle this.  This patch
      fixes that.
      
      
      	PR rtl-optimization/86882
      	* rtlanal.c (reg_overlap_mentioned_p): Handle CLOBBER.
      
      From-SVN: r264400
      Segher Boessenkool committed
    • Fix location of invocable check for unique_ptr deleter · a12c16de
      The deleter only needs to be invocable when the unique_ptr destructor
      and reset member function are instantiated. In other contexts it might
      not be possible to pass unique_ptr<T, D>::pointer to the deleter, if
      that requires a derived-to-base conversion from T* and T is incomplete.
      
      	* include/bits/unique_ptr.h (__uniq_ptr_impl): Remove static assertion
      	checking invocable condition.
      	(unique_ptr::~unique_ptr, unique_ptr::reset): Restore static assertion
      	here, where types must be complete. Pass pointer to deleter as an
      	rvalue.
      	* testsuite/20_util/unique_ptr/requirements/incomplete.cc: New test.
      
      From-SVN: r264399
      Jonathan Wakely committed
    • i386.md (*<code>extend<mode>xf2): Macroize insn from *<code>extendsfxf2 and… · f96c8666
      i386.md (*<code>extend<mode>xf2): Macroize insn from *<code>extendsfxf2 and *<code>extenddfxf2 using MODEF mode...
      
      	* config/i386/i386.md (*<code>extend<mode>xf2): Macroize insn from
      	*<code>extendsfxf2 and *<code>extenddfxf2 using MODEF mode iterator.
      
      From-SVN: r264398
      Uros Bizjak committed
    • [nvptx] Remove use of CUDA unified memory in libgomp · 2049befd
      	libgomp/
      	* plugin/plugin-nvptx.c (struct cuda_map): New.
      	(struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
      	h_tail with (cuda_map *) map.
      	(cuda_map_create): New function.
      	(cuda_map_destroy): New function.
      	(map_init): Update to use a linked list of cuda_map objects.
      	(map_fini): Likewise.
      	(map_pop): Likewise.
      	(map_push): Likewise.  Return CUdeviceptr instead of void.
      	(init_streams_for_device): Remove stales references to ptx_stream
      	members.
      	(select_stream_for_async): Likewise.
      	(nvptx_exec): Update call to map_init.
      
      From-SVN: r264397
      Cesar Philippidis committed
    • PR other/87353 fix formatting and grammar in manual · 5e594075
      The changes to invoke.texi in r242433 left some unwanted spaces that
      texi2pod.pl interprets as verbatim formatting. There are also some
      grammatical errors due to the removal of references to GCJ, where the
      G++ driver is referred to in the plural.
      
      	PR other/87353
      	* doc/invoke.texi (Link Options): Fix formatting and grammar.
      
      From-SVN: r264395
      Jonathan Wakely committed
    • Fix dg-do target · 538d2d7e
      From-SVN: r264394
      Nathan Sidwell committed
    • Add PR marker to previous commit · 89e1963a
      From-SVN: r264393
      Kyrylo Tkachov committed
    • Fix gcc.dg/warn-abs-1.c for arm and aarch64-none-elf · 6902e3a0
      This new test has some difficulties on the fabsl function.
      On arm this is because we don't support the _Float128 type which the test uses.
      This is handled in the patch by requiring a float128 target selector.
      
      On aarch64-none-elf, a Newlib target, it fails because fabsl is not available.
      long double support is known to be incomplete in newlib, and the fabsl function is not available
      for targets where long double is larger than a double.
      Therefore this patch skips the test on such targets.
      
      
      	* gcc.dg/warn-abs-1.c: Require float128 target.
      	Skip if large_long_double newlib target.
      
      From-SVN: r264392
      Kyrylo Tkachov committed
    • [PATCH c++/86881] -Wshadow-local-compatible ICE · 3897f134
      https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00984.html
      	PR c++/86881
      	cp/
      	* name-lookup.c (check_local_shadow): Ignore auto types.
      
      	testsuite/
      	* g++.dg/warn/pr86881.C: New.
      
      From-SVN: r264391
      Nathan Sidwell committed
    • [AArch64][committed] Fix gcc.target/aarch64/spellcheck_1.c and spellcheck_4.c · 0dce5526
      These two tests started failing after commit r264335 that adjusted the cutoff point at which the diagnostic suggestions machinery decides a suggestion is meaningful.
      For these tests it means we no longer suggest anything as an alternative to "armv8-a-typo" as an "arch=" pargma value. We do still list the valid options, we just don't prefer one particular value over the others.
      
      When I first wrote this test it wasn't with a particular architecture suggestion in mind, but rather to test that the suggestion machinery is being sanely invoked.
      So this patch changes the dg-message check to treat the "did you mean...?" hunk as optional (in case the heuristics in the suggestions machinery change again).
      
      With this patch the two tests PASS again on aarch64. 
      
          * gcc.target/aarch64/spellcheck_1.c:
          Make architecture suggestion optional.
          * gcc.target/aarch64/spellcheck_4.c:
          Likewise.
      
      From-SVN: r264390
      Kyrylo Tkachov committed
    • [AArch64][testsuite][committed] Fix gcc.target/aarch64/combine_bfxil.c for -mabi=ilp32 · 92cb1fbc
      As described in https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00963.html this test generates UXTW instructions with -mabi=ilp32
      because the foo* functions take pointers and store results into them. In ILP32 the callee clears the top bits with a UXTW.
      This trips the scan-assembler-not UXTW test that checks that the zero_extend form of the BFXIL pattern is used, which it is.
      
      This patch avoids this problem by not passing pointers to the results, but instead using global variables for which the foo* functions
      will synthesise the address using ADRP, avoiding the UXTW instructions.
      
      With this patch the test PASSes fully with -mabi=ilp32 and still PASSes on LP64.
      
      	* gcc.target/aarch64/combine_bfxil.c: Avoid passing pointers to
      	functions.
      
      From-SVN: r264389
      Kyrylo Tkachov committed
    • re PR middle-end/63155 (memory hog) · 6a8aa2e1
      2018-09-18  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/63155
      	* tree-ssa-coalesce.c (tree_int_map_hasher): Remove.
      	(compute_samebase_partition_bases): Likewise.
      	(coalesce_ssa_name): Always use compute_optimized_partition_bases.
      	(gimple_can_coalesce_p): Simplify.
      
      From-SVN: r264388
      Richard Biener committed
    • Use v2 map syntax in libgcc-unwind.map if Solaris ld supports it · 53c6feb2
      	* configure.ac (solaris_ld_v2_maps): New test.
      	* configure: Regenerate.
      	* Makefile.in (solaris_ld_v2_maps): New variable.
      	* config/t-slibgcc-sld (libgcc-unwind.map): Emit v2 mapfile syntax
      	if supported.
      
      From-SVN: r264382
      Rainer Orth committed
    • Handle a library implementation of ffs calling __builtin_ffs. · e6bf23cc
      	* config/mmix/mmix.c (TARGET_INIT_LIBFUNCS): Override with...
      	(mmix_init_libfuncs): New function: make __builtin_ffs expand
      	to __ffsdi2.
      
      From-SVN: r264381
      Hans-Peter Nilsson committed
    • Daily bump. · 18b0a762
      From-SVN: r264380
      GCC Administrator committed
  3. 17 Sep, 2018 16 commits
    • Add range_idx param to range_label::get_text · 9c4a4b3c
      This patch updates the pure virtual function range_label::get_text
      (and its implementations) so that the index of the range is passed
      in, allowing for one label instance to be shared by multiple ranges.
      
      gcc/c-family/ChangeLog:
      	* c-format.c (range_label_for_format_type_mismatch::get_text):
      	Update for new param.
      
      gcc/c/ChangeLog:
      	* c-objc-common.c (range_label_for_type_mismatch::get_text):
      	Update for new param.
      	* c-typeck.c (maybe_range_label_for_tree_type_mismatch::get_text):
      	Likewise.
      
      gcc/cp/ChangeLog:
      	* error.c (range_label_for_type_mismatch::get_text): Update for
      	new param.
      
      gcc/ChangeLog:
      	* diagnostic-show-locus.c (class layout_range): Add field
      	"m_original_idx".
      	(layout_range::layout_range): Add "original_idx" param and use it
      	to initialize new field.
      	(make_range): Use 0 for original_idx.
      	(layout::layout): Pass in index to calls to
      	maybe_add_location_range.
      	(layout::maybe_add_location_range): Add param "original_idx" and
      	pass it on to layout_range.
      	(layout::print_any_labels): Pass on range->m_original_idx to
      	get_text call.
      	(gcc_rich_location::add_location_if_nearby): Use 0 for
      	original_idx.
      	* gcc-rich-location.h (text_range_label::get_text): Update for new
      	param.
      	(range_label_for_type_mismatch::get_text): Likewise.
      
      libcpp/ChangeLog:
      	* include/line-map.h (range_label::get_text): Add param
      	"range_idx".
      
      From-SVN: r264376
      David Malcolm committed
    • i386.c (ix86_emit_i387_log1p): Emit fldln2 earlier. · 71b731be
      	* config/i386/i386.c (ix86_emit_i387_log1p): Emit fldln2 earlier.
      
      From-SVN: r264373
      Uros Bizjak committed
    • substring-locations: add class format_string_diagnostic_t · c896ecfe
      With the addition of ranges in r263564, format_warning_at_substring_n
      has 10 arguments.
      
      Reduce the number of args by bundling the shared ones into a
      class format_string_diagnostic_t.
      
      gcc/c-family/ChangeLog:
      	* c-format.c (format_warning_at_char): Update for introduction of
      	format_string_diagnostic_t.
      	(format_type_warning): Likewise.
      
      gcc/ChangeLog:
      	* gimple-ssa-sprintf.c (fmtwarn): Update for introduction of
      	format_string_diagnostic_t.
      	(fmtwarn_n): Likewise.
      	* substring-locations.c
      	(format_string_diagnostic_t::format_string_diagnostic_t) New ctor.
      	(format_warning_n_va): Convert to...
      	(format_string_diagnostic_t::emit_warning_n_va): ...this.
      	(format_warning_va): Convert to...
      	(format_string_diagnostic_t::emit_warning_va): ...this.
      	(format_warning_at_substring): Convert to...
      	(format_string_diagnostic_t::emit_warning): ...this.
      	(format_warning_at_substring_n): Convert to...
      	(format_string_diagnostic_t::emit_warning_n): ...this.
      	* substring-locations.h (class format_string_diagnostic_t): New
      	class.
      	(format_warning_va): Convert to
      	format_string_diagnostic_t::emit_warning_va.
      	(format_warning_n_va): Convert to
      	format_string_diagnostic_t::emit_warning_n_va.
      	(format_warning_at_substring): Convert to
      	format_string_diagnostic_t::emit_warning.
      	(format_warning_at_substring_n): Convert to
      	format_string_diagnostic_t::emit_warning_n.
      
      From-SVN: r264372
      David Malcolm committed
    • [nvptx] Add atomic_fetch* support for SImode arguments. · 69d7aabf
      	gcc/
      	* config/nvptx/nvptx.md (atomic_fetch_<logic><mode>): Enable with
      	SImode args.
      
      	gcc/testsuite/
      	* gcc.target/nvptx/atomic-fetch-2.c: Rename to ...
      	* gcc.target/nvptx/atomic_fetch-2.c: ... this.
      	* gcc.target/nvptx/atomic_fetch-3.c: New test.
      
      
      Co-Authored-By: Bernd Schmidt <bernds_cb1@t-online.de>
      
      From-SVN: r264371
      Cesar Philippidis committed
    • i386.md (truncxf<mode>2_i387_noop_unspec): Change operand 0 predicate to nonimmediate operand. · fa540cec
      	* config/i386/i386.md (truncxf<mode>2_i387_noop_unspec): Change
      	operand 0 predicate to nonimmediate operand.
      	(rint<mode>2_frndint): Remove insn pattern.
      	(rint<mode>2): Change operand 1 predicate to general_operand.
      	Extend operand 1 to XFmode and generate rintxf2 insn.
      	(frndintxf2_<rounding>): Rename from frndint<mode>2_<rounding>.
      	Do not use X87MODEF mode macro.
      	(frndintxf2_<rounding>_i387): Rename from
      	frndint<mode>2_<rounding>_i387.  Do not use X87MODEF mode macro.
      	(<rounding_insn><mode>2): For non-SSE modes, extend operand 1
      	to XFmode and generate significandxf3 insn.
      
      From-SVN: r264370
      Uros Bizjak committed
    • re PR tree-optimization/87328 (ICE in do_rpo_vn, at tree-ssa-sccvn.c:6566) · 5d721887
      2018-09-17  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87328
      	* tree-ssa-sccvn.c (process_bb): Remove assertion about not
      	visiting unexecutable backedges when not iterating.
      	(do_rpo_vn): Mark all edges not executable even when not
      	iterating.
      
      	* gcc.dg/torture/pr87328.c: New testcase.
      
      From-SVN: r264369
      Richard Biener committed
    • Add -Wabsolute-value · 80c6d1f4
      2018-09-17  Martin Jambor  <mjambor@suse.cz>
      
      	gcc/
      	* doc/invoke.texi (Warning Options): Likewise.
      
      	gcc/c-family/
      	* c.opt (Wabsolute-value): New.
      
      	gcc/c/
      	* c-parser.c: (warn_for_abs): New function.
      	(c_parser_postfix_expression_after_primary): Call it.
      
      	testsuite/
      	* gcc.dg/warn-abs-1.c: New test.
      	* gcc.dg/dfp/warn-abs-2.c: Likewise.
      
      From-SVN: r264368
      Martin Jambor committed
    • ms-sysv.exp: Don't pass TEST_ALWAYS_FLAGS to HOSTCXX. · 3ab3a92e
      2018-09-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Don't pass
              TEST_ALWAYS_FLAGS to HOSTCXX.
      
      From-SVN: r264367
      Bernd Edlinger committed
    • re PR fortran/64120 ([F03] Wrong handling of allocatable character string) · d44235fb
      2018-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/64120
      	* trans-decl.c (gfc_get_symbol_decl): Flag allocatable, scalar
      	characters with a variable length expression for deferred init.
      	(gfc_trans_deferred_vars): Perform the assignment for these
      	symbols by calling gfc_conv_string_length.
      
      2018-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/64120
      	* gfortran.dg/allocatable_scalar_14.f90 : New test.
      
      From-SVN: r264365
      Paul Thomas committed
    • re PR tree-optimization/87301 (ICE: verify_gimple failed (error: statement… · ecfb64f6
      re PR tree-optimization/87301 (ICE: verify_gimple failed (error: statement marked for throw, but doesn't))
      
      2018-09-17  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87301
      	* tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_cleanup): Properly
      	clean EH info from leftover copy assignments.
      
      	* gcc.dg/torture/pr87301.c: New testcase.
      
      From-SVN: r264364
      Richard Biener committed
    • Fix out-of-bounds in gcov.c (PR gcov-profile/85871). · dda107df
      2018-09-17  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/85871
      	* gcov.c (output_intermediate_file): Fix out of bounds
      	access.
      
      From-SVN: r264363
      Martin Liska committed
    • [ARC] Enable DBNZ for core3 and newer CPUs. · dd1fd744
      2018-09-17  Vineet Gupta  <vgupta@synopsys.com>
      
      	* config/arc/arc.c: Object attributes for core4 not reflected
      	correctly.
      	* config/arc/arc.h: Don't restrict DBNZ to core3 (core4 includes
      	core3).
      
      From-SVN: r264362
      Vineet Gupta committed
    • [ARC] Update LINK_EH_SPEC linker spec. · 5305a279
      With no trailing space in LINK_EH_SPEC linker spec gets generated as:
      ------------------------>8---------------------
      %{!r:--build-id} --eh-frame-hdr%{h*} ...
      ------------------------>8---------------------
      
      or even worse if hash style is added:
      ------------------------>8---------------------
      %{!r:--build-id} --eh-frame-hdr--hash-style=sysv %{h*} ...
      ------------------------>8---------------------
      
      Now if that spec is really used by LD then it fails inevitably
      saying that it doesn't know option "--eh-frame-hdr--hash-style=sysv".
      
      2018-09-17  Alexey Brodkin  <abrodkin@synopsys.com>
      
      	* config/arc/linux.h (LINK_EH_SPEC): Add missing space.
      
      From-SVN: r264361
      Alexey Brodkin committed
    • gcov: emit hotness colors to easily find hot code. · d6683f89
      2018-09-17  Martin Liska  <mliska@suse.cz>
      
      	* doc/gcov.texi: Document new option --use-hotness-colors.
      	* gcov.c (struct source_info): Declare new field.
      	(source_info::source_info): Set default for maximum_count.
      	(print_usage): Add new -q option.
      	(process_args): Process it.
      	(accumulate_line_info): Save src->maximum_count.
      	(output_line_beginning): Make color line number if
      	flag_use_hotness_colors is set.
      	(output_line_details): Pass default argument value.
      	(output_lines): Pass src->maximum_count.
      
      From-SVN: r264360
      Martin Liska committed
    • i386: move alignment defaults to processor_costs. · 7dc58b50
      2018-09-17  Martin Liska  <mliska@suse.cz>
      
      	* common/config/i386/i386-common.c (ix86_get_valid_option_values):
      	Use processor_names table.
      	* config/i386/i386.c (ix86_default_align): Use
      	processor_cost_table for alignment values.
      	(ix86_option_override_internal): Use processor_names.
      	(ix86_function_specific_print): Likewise.
      	* config/i386/i386.h (struct processor_costs):
      	Add alignment values.
      	(struct ptt): Remove and replace with const char *.
      	* config/i386/x86-tune-costs.h (struct processor_costs):
      	Declare default alignments for all costs.
      
      From-SVN: r264359
      Martin Liska committed
    • re PR fortran/85954 (ICE in make_ssa_name_fn, at tree-ssanames.c:266) · ca32d61b
      2018-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/85954
      	* resolve.c (resolve_assoc_var): If the target expression is a
      	deferred charlen dummy and the associate name shares the
      	charlen, generate a new one. Make sure that new charlens are in
      	the namespace list so that they get cleaned up.
      	* trans-array.c (gfc_is_reallocatable_lhs): Associate names are
      	not reallocatable.
      	* trans-decl.c (gfc_get_symbol_decl): Put deferred character
      	length dummy and result arrays on the deferred initialization
      	list so that the variable length arrays can be correctly dealt
      	with.
      	* trans-expr.c (gfc_conv_string_length): Return if 'expr' is
      	NULL rather than ICEing..
      
      2018-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/85954
      	* gfortran.dg/deferred_character_21.f90 : New test.
      
      From-SVN: r264358
      Paul Thomas committed