1. 29 Aug, 2019 11 commits
    • [preprocessor] Include stacking · b0d11f1e
      https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01971.html
      	* internal.h (enum include_type): Add IT_MAIN, IT_DIRECTIVE_HWM,
      	IT_HEADER_HWM.
      	(_cpp_stack_file): Take include_type, not a bool.
      	* files.c (_cpp_find_file): Refactor to not hide an if inside a
      	for conditional.
      	(should_stack_file): Break apart to ...
      	(is_known_idempotent_file, has_unique_contents): ... these.
      	(_cpp_stack_file): Replace IMPORT boolean with include_type enum.
      	Refactor to use new predicates.  Do linemap compensation here ...
      	(_cpp_stack_include): ... not here.
      	* init.c (cpp_read_main_file): Pass IT_MAIN to _cpp_stack_file.
      
      From-SVN: r275034
      Nathan Sidwell committed
    • PR libstdc++/91067 add more missing exports for directory iterators · d02a0412
      	PR libstdc++/91067
      	* acinclude.m4 (libtool_VERSION): Bump to 6:28:0.
      	* configure: Regenerate.
      	* config/abi/pre/gnu.ver (GLIBCXX_3.4.28): Add new version. Export
      	missing symbols.
      	* testsuite/27_io/filesystem/iterators/91067.cc: Test move
      	constructors.
      	* testsuite/util/testsuite_abi.cc: Add new symbol version.
      
      From-SVN: r275032
      Jonathan Wakely committed
    • i386-features.c (general_scalar_chain::convert_insn): Guard debug work with… · 132e2b41
      i386-features.c (general_scalar_chain::convert_insn): Guard debug work with MAY_HAVE_DEBUG_BIND_INSNS.
      
      2019-08-29  Richard Biener  <rguenther@suse.de>
      
      	* config/i386/i386-features.c (general_scalar_chain::convert_insn):
      	Guard debug work with MAY_HAVE_DEBUG_BIND_INSNS.
      
      From-SVN: r275031
      Richard Biener committed
    • re PR bootstrap/91580 (i686-{darwin, linux} bootstrap fails after r274926) · c49609be
      2019-08-29  Richard Biener  <rguenther@suse.de>
      
      	PR bootstrap/91580
      	* config/i386/i386-features.c (general_scalar_chain::convert_insn):
      	Do not emit scalar copies for debug-insns, instead replace
      	their uses with the reg copy used in the chain or reset them
      	if there is a reaching definition outside of the chain as well.
      
      From-SVN: r275030
      Richard Biener committed
    • baseline_symbols.txt: Update. · ae32cd03
      	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r275028
      Jakub Jelinek committed
    • re PR target/91560 (Try harder for AVX non-AVX2 cross-lane permutations) · 4bf4c103
      	PR target/91560
      	* config/i386/i386-expand.c (expand_vec_perm_movs,
      	expand_vec_perm_blend, expand_vec_perm_vpermil,
      	expand_vec_perm_pshufb, expand_vec_perm_1,
      	expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr,
      	expand_vec_perm_interleave2, expand_vec_perm_vpermq_perm_1,
      	expand_vec_perm_vperm2f128, expand_vec_perm_interleave3,
      	expand_vec_perm_vperm2f128_vblend, expand_vec_perm_2vperm2f128_vshuf,
      	expand_vec_perm_even_odd, expand_vec_perm_broadcast): Adjust function
      	comments - replace ix86_expand_vec_perm_builtin_1 with
      	ix86_expand_vec_perm_const_1.
      	(expand_vec_perm2_vperm2f128_vblend): New function.
      	(ix86_expand_vec_perm_const_1): New forward declaration.  Call
      	expand_vec_perm2_vperm2f128_vblend as last resort.
      	(canonicalize_perm): Formatting fix.
      
      	* gcc.dg/torture/vshuf-8.inc: Add two further permutations.
      
      From-SVN: r275027
      Jakub Jelinek committed
    • re PR tree-optimization/91351 (-fstrict-enums generates incorrect code) · 1d9cd701
      	PR tree-optimization/91351
      	* tree-cfg.c (generate_range_test): Use range_check_type instead of
      	unsigned_type_for.
      	* tree-cfgcleanup.c (convert_single_case_switch): Punt if
      	range_check_type returns NULL.
      	* tree-switch-conversion.c (switch_conversion::build_one_array):
      	Use range_check_type instead of unsigned_type_for, don't perform
      	linear opt if it returns NULL.
      	(bit_test_cluster::find_bit_tests): Formatting fix.
      	(bit_test_cluster::emit): Use range_check_type instead of
      	unsigned_type_for.
      	(switch_decision_tree::try_switch_expansion): Punt if range_check_type
      	returns NULL.
      
      	* g++.dg/opt/pr91351.C: New test.
      
      From-SVN: r275026
      Jakub Jelinek committed
    • decl.c (check_var_type): Add location_t parameter and use it. · c3bad347
      /cp
      2019-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (check_var_type): Add location_t parameter and use it.
      	(grokdeclarator): Adjust call.
      	* pt.c (tsubst_decl): Likewise.
      	* cp-tree.h: Adjust declaration.
      
      /testsuite
      2019-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/spellcheck-typenames.C: Adjust expected locations.
      	* g++.dg/cpp0x/pr84676.C: Check locations.
      	* g++.dg/other/pr88187.C: Likewise.
      	* g++.dg/parse/crash13.C: Likewise.
      	* g++.dg/parse/crash46.C: Likewise.
      	* g++.dg/parse/template28.C: Likewise.
      	* g++.dg/parse/typename4.C: Likewise.
      
      From-SVN: r275025
      Paolo Carlini committed
    • re PR tree-optimization/91568 (internal compiler error: in… · f48e4da3
      re PR tree-optimization/91568 (internal compiler error: in vect_schedule_slp_instance, at tree-vect-slp.c:3922)
      
      2019-08-29  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/91568
      	* tree-vectorizer.h (_slp_tree::max_nunits): Add.
      	(vect_update_max_nunits): Add overload for poly_uint64.
      	* tree-vect-slp.c (vect_create_new_slp_node): Initialize it.
      	(vect_build_slp_tree): Record max_nunits into the subtree
      	and merge it upwards.
      	(vect_print_slp_tree): Print max_nunits.
      
      	* gfortran.dg/pr91568.f: New testcase.
      
      From-SVN: r275023
      Richard Biener committed
    • Implement P1152R4: Deprecating some uses of volatile. · 8a902edb
      	PR c++/91361
      	* c-opts.c (c_common_post_options): Enable -Wvolatile by
      	default for C++2a, unless -Wno-deprecated.
      	* c.opt (Wvolatile): New warning.
      
      	* cp-gimplify.c (cp_fold): Set TREE_THIS_VOLATILE.
      	* decl.c (grokdeclarator): Warn about a volatile-qualified structured
      	binding and return type.
      	(grokparms): Warn about a volatile-qualified function parameter.
      	* expr.c (mark_use) <case MODIFY_EXPR>: Emit a -Wvolatile warning.
      	* typeck.c (cp_build_unary_op): Emit a -Wvolatile warning for pre and
      	post ++/-- on a volatile operand.
      	(genericize_compound_lvalue): Use a better location.  Don't lose
      	TREE_THIS_VOLATILE.
      	(cp_build_modify_expr): Emit a -Wvolatile warning for a compound
      	assignment whose LHS is volatile-qualified.  Build the assignment with
      	a more precise location.
      
      	* doc/invoke.texi: Document -Wvolatile.
      
      	* c-c++-common/Wbool-operation-1.c: Use -Wno-volatile in C++.
      	* c-c++-common/gomp/atomic-1.c: Likewise.
      	* c-c++-common/gomp/atomic-9.c: Likewise.
      	* c-c++-common/gomp/depend-iterator-1.c: Likewise.
      	* c-c++-common/gomp/loop-1.c: Adjust warning location for C++.
      	* c-c++-common/gomp/order-3.c: Likewise.
      	* c-c++-common/pr69733.c: Use -Wno-volatile in C++.
      	* c-c++-common/spec-barrier-2.c: Likewise.
      	* c-c++-common/tm/pr54893.c: Likewise.
      	* g++.dg/cpp0x/pr65327.C: Add dg-warning.
      	* g++.dg/cpp0x/rv-conv2.C: Likewise.
      	* g++.dg/cpp0x/rv1n.C: Likewise.
      	* g++.dg/cpp0x/rv1p.C: Likewise.
      	* g++.dg/cpp0x/rv2n.C: Likewise.
      	* g++.dg/cpp0x/rv2p.C: Likewise.
      	* g++.dg/cpp0x/rv3n.C: Likewise.
      	* g++.dg/cpp0x/rv3p.C: Likewise.
      	* g++.dg/cpp0x/rv4n.C: Likewise.
      	* g++.dg/cpp0x/rv4p.C: Likewise.
      	* g++.dg/cpp0x/rv5n.C: Likewise.
      	* g++.dg/cpp0x/rv5p.C: Likewise.
      	* g++.dg/cpp0x/rv6n.C: Likewise.
      	* g++.dg/cpp0x/rv6p.C: Likewise.
      	* g++.dg/cpp0x/rv7n.C: Likewise.
      	* g++.dg/cpp0x/rv7p.C: Likewise.
      	* g++.dg/cpp0x/rv8p.C: Likewise.
      	* g++.dg/cpp0x/trailing14.C: Use -Wno-volatile.
      	* g++.dg/cpp1y/new1.C: Add dg-warning.
      	* g++.dg/cpp2a/volatile1.C: New test.
      	* g++.dg/cpp2a/volatile2.C: New test.
      	* g++.dg/cpp2a/volatile3.C: New test.
      	* g++.dg/cpp2a/volatile4.C: New test.
      	* g++.dg/expr/bool3.C: Add dg-warning.
      	* g++.dg/expr/bool4.C: Likewise.
      	* g++.dg/expr/cond9.C: Likewise.
      	* g++.dg/ext/vector25.C: Likewise.
      	* g++.dg/gomp/depend-iterator-1.C: Use -Wno-volatile.
      	* g++.dg/inherit/covariant21.C: Add dg-warning.
      	* g++.dg/init/ref18.C: Likewise.
      	* g++.dg/ipa/pr63838.C: Likewise.
      	* g++.dg/overload/rvalue2.C: Likewise.
      	* g++.dg/parse/semicolon4.C: Likewise.
      	* g++.dg/warn/Wreturn-type-4.C: Likewise.
      	* g++.dg/warn/pr36069.C: Likewise.
      	* g++.old-deja/g++.mike/p9506.C: Likewise.
      	* g++.old-deja/g++.other/volatile1.C: Likewise.
      
      From-SVN: r275022
      Marek Polacek committed
    • Daily bump. · 737c5bac
      From-SVN: r275021
      GCC Administrator committed
  2. 28 Aug, 2019 26 commits
  3. 27 Aug, 2019 3 commits
    • PR tree-optimization/91567 - Spurious -Wformat-overflow warnings building glibc (32-bit only) · 407b92bc
      gcc/ChangeLog:
      
      	PR tree-optimization/91567
      	* gimple-ssa-sprintf.c (get_string_length): Handle more forms of lengths
      	of unknown strings.
      	* vr-values.c (vr_values::extract_range_basic): Set strlen upper bound
      	to PTRDIFF_MAX - 2.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/91567
      	* gcc.dg/tree-ssa/builtin-snprintf-6.c: Xfail a subset of assertions
      	on targets other than x86_64 to work around PR 83543.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-22.c: New test.
      
      From-SVN: r274976
      Martin Sebor committed
    • tree-ssa-strlen.c (printf_strlen_execute): Initialize the loop optimizer and… · 2d8ba441
      tree-ssa-strlen.c (printf_strlen_execute): Initialize the loop optimizer and SCEV before sizing ssa_ver_to_stridx.
      
      	* tree-ssa-strlen.c (printf_strlen_execute): Initialize
      	the loop optimizer and SCEV before sizing ssa_ver_to_stridx.
      
      	* gcc.c-torture/compile/20190827-1.c: New test.
      
      From-SVN: r274975
      Jeff Law committed
    • re PR fortran/91496 (!GCC$ directives error if mistyped or unknown) · 2bd86b95
      2019-08-27  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/91496
      	* gfortran.h: Extend struct gfc_iterator for loop annotations.
      	* array.c (gfc_copy_iterator): Copy loop annotations by IVDEP,
      	VECTOR, and NOVECTOR pragmas.
      	* decl.c (gfc_match_gcc_ivdep, gfc_match_gcc_vector)
      	(gfc_match_gcc_novector): New matcher functions handling IVDEP,
      	VECTOR, and NOVECTOR pragmas.
      	* match.h: Declare prototypes of matcher functions handling IVDEP,
      	VECTOR, and NOVECTOR pragmas.
      	* parse.c (decode_gcc_attribute, parse_do_block)
      	(parse_executable): Decode IVDEP, VECTOR, and NOVECTOR pragmas;
      	emit warning for unrecognized pragmas instead of error.
      	* trans-stmt.c (gfc_trans_simple_do, gfc_trans_do): Add code to
      	emit annotations for IVDEP, VECTOR, and NOVECTOR pragmas.
      	* gfortran.texi: Document IVDEP, VECTOR, and NOVECTOR pragmas.
      
      	PR fortran/91496
      	* gfortran.dg/pr91496.f90: New testcase.
      
      From-SVN: r274966
      Harald Anlauf committed