1. 07 Feb, 2018 22 commits
    • re PR fortran/68560 (The test gfortran.dg/shape_8.f90 now fails when compiled with -flto) · 82e259b8
      2018-02-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/68560
      	* trans-intrinsic.c (gfc_conv_intrinsic_shape): New function.
      	(gfc_conv_intrinsic_function): Call it.
      
      2018-02-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/68560
      	* gfortran.dg/shape_9.f90: New test.
      
      From-SVN: r257462
      Thomas Koenig committed
    • re PR fortran/82049 (ICE with character(*),parameter array constructor) · 52b16cb3
      2018-02-06  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/82049
      	* match.c (gfc_match_type_spec): If the charlen is non-NULL, then
      	try to resolve it.  While here return early if possible.
      
      2018-02-06  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/82049
      	* gfortran.dg/assumed_charlen_parameter.f90: New test.
      
      From-SVN: r257459
      Steven G. Kargl committed
    • Fix libgomp.oacc-c-c++-common/pr84217.c for C++ · f320fdfd
      	* testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
      	[__cplusplus]: Declare extern "C".
      
      From-SVN: r257457
      Rainer Orth committed
    • C++: avoid most reserved words as misspelling suggestions (PR c++/81610 and PR c++/80567) · 0d7d8e66
      lookup_name_fuzzy can offer some reserved words as suggestions for
      misspelled words, helping with "singed"/"signed" typos.
      
      PR c++/81610 and PR c++/80567 report problems where the C++ frontend
      suggested "if", "for" and "else" as corrections for misspelled variable
      names.
      
      The root cause is that in r247233
        ("Fix spelling suggestions for reserved words (PR c++/80177)")
      I loosened the conditions on these reserved words, adding this condition:
         if (kind == FUZZY_LOOKUP_TYPENAME)
      to the logic for rejecting words that don't start decl-specifiers, to
      allow for "static_assert" to be offered.
      
      This is too loose a condition: we don't want to suggest *any* reserved word
      when we're in a context where we don't know we expect a typename.
      
      For the kinds of error-recover situations where we're suggesting
      spelling corrections we don't have much contextual information, so it
      seems prudent to be stricter about which reserved words we offer
      as spelling suggestions; I don't think it makes sense for us to
      suggest e.g. "for".
      
      This patch implements that by effectively reinstating the old logic,
      but special-casing RID_STATIC_ASSERT, moving the logic to a new
      subroutine (in case we want to allow for other special-cases).
      
      I attempted to add suggestions for the various RID_*CAST, to cope
      with e.g. "reinterptet_cast" (I can never type that correctly on the
      first try), but the following '<' token confuses the error-recovery
      enough that the suggestion code isn't triggered.
      
      gcc/cp/ChangeLog:
      	PR c++/81610
      	PR c++/80567
      	* name-lookup.c (suggest_rid_p): New function.
      	(lookup_name_fuzzy): Replace enum-rid-filtering logic with call to
      	suggest_rid_p.
      
      gcc/testsuite/ChangeLog:
      	PR c++/81610
      	PR c++/80567
      	* g++.dg/spellcheck-reswords.C: New test case.
      	* g++.dg/spellcheck-stdlib.C: Remove xfail from dg-bogus
      	suggestion of "if".
      
      From-SVN: r257456
      David Malcolm committed
    • Support >26 operands in generation code. · 085e8246
      2018-02-07  Alan Hayward  <alan.hayward@arm.com>
      
              * genextract.c (push_pathstr_operand): New function to support [a-zA-Z].
              (walk_rtx): Call push_pathstr_operand.
              (print_path): Support [a-zA-Z].
      
      From-SVN: r257455
      Alan Hayward committed
    • PR c++/84182 - ICE with captured lambda · 828ca2ed
      	PR c++/84181
      	* pt.c (extract_locals_r, extract_local_specs): New.
      	(tsubst_pack_expansion): Use them.
      
      From-SVN: r257454
      Jason Merrill committed
    • re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644) · b210f45f
      2018-02-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84037
      	* tree-vectorizer.h (struct _loop_vec_info): Add ivexpr_map member.
      	(cse_and_gimplify_to_preheader): Declare.
      	(vect_get_place_in_interleaving_chain): Likewise.
      	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
      	ivexpr_map.
      	(_loop_vec_info::~_loop_vec_info): Delete it.
      	(cse_and_gimplify_to_preheader): New function.
      	* tree-vect-slp.c (vect_get_place_in_interleaving_chain): Export.
      	* tree-vect-stmts.c (vectorizable_store): CSE base and steps.
      	(vectorizable_load): Likewise.  For grouped stores always base
      	the IV on the first element.
      	* tree-vect-loop-manip.c (vect_loop_versioning): Unshare versioning
      	condition before gimplifying.
      
      From-SVN: r257453
      Richard Biener committed
    • Revert behavior to r251316. · 43e4df5a
      2018-02-07  Martin Liska  <mliska@suse.cz>
      
      	PR c++/84059.
      	* class.c (add_method): Append argument value.
      	* cp-tree.h (maybe_version_functions): Add new argument.
      	* decl.c (decls_match): Call it if a declaration does not
      	have DECL_FUNCTION_VERSIONED.
      	(maybe_version_functions): record argument is added.
      2018-02-07  Martin Liska  <mliska@suse.cz>
      
      	PR c++/84059.
      	* g++.dg/ext/mv26.C: New test.
      
      From-SVN: r257451
      Martin Liska committed
    • tree-eh.c (operation_could_trap_helper_p): Ignore honor_trapv for *DIV_EXPR and *MOD_EXPR. · 228868f5
      	* tree-eh.c (operation_could_trap_helper_p): Ignore honor_trapv for
      	*DIV_EXPR and *MOD_EXPR.
      
      From-SVN: r257450
      Jakub Jelinek committed
    • [testsuite] Require alloca in gcc.dg/pr83844.c · a0486b65
      2018-02-07  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/pr83844.c: Require effective target alloca.
      
      From-SVN: r257447
      Tom de Vries committed
    • [testsuite] Require global_constructor in gcc.dg/torture/pr83055.c · 45224bd0
      2018-02-07  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/torture/pr83055.c: Require effective target global_constructor.
      
      From-SVN: r257446
      Tom de Vries committed
    • Use -fcf-protection=return in cet-intrin-4.c · 81b58bfd
      Since -fcf-protection requires both -mshstk and -mibt, use
      -fcf-protection=return with -mshstk in cet-intrin-4.c.
      
      	PR target/84243
      	* gcc.target/i386/cet-intrin-4.c (dg-options): Use
      	-fcf-protection=return.
      
      From-SVN: r257445
      H.J. Lu committed
    • i386: Mask out the CF_SET bit for -fcf-protection check · 6ad05bcc
      Since ix86_option_override_internal sets the CF_SET bit in
      flag_cf_protection and it can be called more than once via pragma,
      we need to mask out the CF_SET bit when checking flag_cf_protection.
      
      	PR target/84248
      	* config/i386/i386.c (ix86_option_override_internal): Mask out
      	the CF_SET bit when checking -fcf-protection.
      
      From-SVN: r257444
      H.J. Lu committed
    • [openacc] Fix diff_type in expand_oacc_collapse_init · c31bc4ac
      2018-02-07  Tom de Vries  <tom@codesourcery.com>
      
      	PR libgomp/84217
      	* omp-expand.c (expand_oacc_collapse_init): Ensure diff_type is large
      	enough.
      
      	* c-c++-common/goacc/pr84217.c: New test.
      	* gfortran.dg/goacc/pr84217.f90: New test.
      
      	* testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
      
      From-SVN: r257443
      Tom de Vries committed
    • * lto.c (register_resolution): Remove forgotten sanity check. · 26a823f0
      From-SVN: r257442
      Jan Hubicka committed
    • re PR tree-optimization/84204 ([graphite] ICE in set_codegen_error, at… · e4c73066
      re PR tree-optimization/84204 ([graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:206)
      
      2018-02-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84204
      	* tree-chrec.c (chrec_fold_plus_1): Remove size limiting in
      	this place.
      
      	* gcc.dg/graphite/pr84204.c: New testcase.
      
      	PR tree-optimization/84205
      	* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Also
      	special-case isl_ast_op_zdiv_r.
      
      	* gcc.dg/graphite/pr84205.c: New testcase.
      
      	PR tree-optimization/84223
      	* graphite-scop-detection.c (gather_bbs::before_dom_children):
      	Only add conditions from within the region.
      	(gather_bbs::after_dom_children): Adjust.
      
      	* gfortran.dg/graphite/pr84223.f90: New testcase.
      
      From-SVN: r257441
      Richard Biener committed
    • re PR target/84209 ([avr] Don't split SP in split2) · 3924c9be
      	PR target/84209
      	* config/avr/avr.h (GENERAL_REGNO_P, GENERAL_REG_P): New macros.
      	* config/avr/avr.md: Only post-reload split REG-REG moves if
      	either register is REGERAL_REG_P.
      
      From-SVN: r257440
      Georg-Johann Lay committed
    • re PR c++/71662 ([DR 1485] ICE on invalid C++11 code with unqualified name look… · 07a6816e
      re PR c++/71662 ([DR 1485] ICE on invalid C++11 code with unqualified name look up: in tsubst_copy, at cp/pt.c:14010)
      
      2018-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/71662
      	* g++.dg/cpp0x/scoped_enum7.C: New.
      
      From-SVN: r257439
      Paolo Carlini committed
    • [testsuite] Fix gcc.dg/cse_recip.c for AArch64 after r257181. · f8e54f64
      2018-02-07  Christophe Lyon <christophe.lyon@linaro.org>
      
      	PR tree-optimization/83008
      	* gcc.dg/cse_recip.c: Add -fno-tree-slp-vectorize.
      
      From-SVN: r257438
      Christophe Lyon committed
    • re PR tree-optimization/84235 (Miscompilation of floating point code by dom2) · 40ff1a2d
      	PR tree-optimization/84235
      	* tree-ssa-scopedtables.c
      	(avail_exprs_stack::simplify_binary_operation): Fir MINUS_EXPR, punt
      	if the subtraction is performed in floating point type where NaNs are
      	honored.  For *DIV_EXPR, punt for ALL_FRACT_MODE_Ps where we can't
      	build 1.  Formatting fix.
      
      	* gcc.c-torture/execute/ieee/pr84235.c: New test.
      
      From-SVN: r257437
      Jakub Jelinek committed
    • compiler: make single Btype for methods table of identical interface type · 84c71bb8
          
          Normally we ensure to build a single Btype for identical types.
          We did not do this for methods table of identical interface
          types, however. If there are two identical interface type I, I2,
          they have the same Btype BI, but different Btypes for their
          methods tables, BM and BM2. From the backend's point of view
          only one of them is linked to BI. This can cause inconsitency
          in the backend's type system, like unresolved placeholder. This
          CL ensures we create a single Btype for methods table of
          identical interface type.
          
          Reviewed-on: https://go-review.googlesource.com/92436
      
      From-SVN: r257436
      Ian Lance Taylor committed
    • Daily bump. · 95b88fd4
      From-SVN: r257435
      GCC Administrator committed
  2. 06 Feb, 2018 18 commits