1. 30 Aug, 2019 13 commits
  2. 29 Aug, 2019 14 commits
    • * config/i386/i386-features.c · 2a3daf5b
      	(general_scalar_chain::compute_convert_gain):
      	Correct cost for double-word shifts.
      	(general_scalar_to_vector_candidate_p): Reject count operands
      	greater or equal to mode bitsize.
      
      From-SVN: r275055
      Uros Bizjak committed
    • i386.c (inline_secondary_memory_needed): Return true for moves between SSE and… · d1041899
      i386.c (inline_secondary_memory_needed): Return true for moves between SSE and non-general registers and between mask...
      
      	* config/i386/i386.c (inline_secondary_memory_needed): Return true
      	for moves between SSE and non-general registers and between
      	mask and non-general registers.
      	(ix86_register_move_cost): Remove stalled comment.
      
      From-SVN: r275050
      Uros Bizjak committed
    • * ChangeLog: Fix wrong ChangeLog of my last entry. · ce189a62
      From-SVN: r275049
      Uros Bizjak committed
    • [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
  3. 28 Aug, 2019 13 commits
    • * es.po: Update. · c085c154
      From-SVN: r275012
      Joseph Myers committed
    • Update ABI baselines for x86 and powerpc GNU targets · d8c26520
      	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
      	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
      	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r275011
      Jonathan Wakely committed
    • runtime: move osinit to Go · 32b1d51f
          
          This is a step toward updating libgo to 1.13.  This adds the 1.13
          version of the osinit function to Go code, and removes the
          corresponding code from the C runtime.  This should simplify future updates.
          Some additional 1.13 code was brought in to simplify this change.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/191717
      
      From-SVN: r275010
      Ian Lance Taylor committed
    • re PR fortran/91551 (ICE in sort_actual, at fortran/intrinsic.c:4193) · c980510a
      2019-08-28  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91551
      	* intrinsic.c (sort_actual): ALLOCATED has one argument. Check for
      	no argument case.
      
      2019-08-28  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91551
      	* gfortran.dg/allocated_3.f90
      
      From-SVN: r275009
      Steven G. Kargl committed
    • PR c++/91360 - Implement C++20 P1143R2: constinit. · 4742dbe7
      	* c-common.c (c_common_reswords): Add constinit and __constinit.
      	(keyword_is_decl_specifier): Handle RID_CONSTINIT.
      	* c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
      	RID_LAST_CXX20.
      	(D_CXX20): Define.
      	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
      	* c-format.c (cxx_keywords): Add "constinit".
      	* c.opt (Wc++2a-compat, Wc++20-compat): New options.
      
      	* cp-tree.h (TINFO_VAR_DECLARED_CONSTINIT): Define.
      	(LOOKUP_CONSTINIT): Define.
      	(enum cp_decl_spec): Add ds_constinit.
      	* decl.c (check_tag_decl): Give an error for constinit in type
      	declarations.
      	(check_initializer): Also check LOOKUP_CONSTINIT.
      	(cp_finish_decl): Add checking for a constinit declaration.  Set
      	TINFO_VAR_DECLARED_CONSTINIT.
      	(grokdeclarator): Add checking for a declaration with the constinit
      	specifier.
      	* lex.c (init_reswords): Handle D_CXX20.
      	* parser.c (cp_lexer_get_preprocessor_token): Pass a better location
      	to warning_at.  Warn about C++20 keywords.
      	(cp_keyword_starts_decl_specifier_p): Handle RID_CONSTINIT.
      	(cp_parser_diagnose_invalid_type_name): Add an inform about constinit.
      	(cp_parser_decomposition_declaration): Maybe pass LOOKUP_CONSTINIT to
      	cp_finish_decl.
      	(cp_parser_decl_specifier_seq): Handle RID_CONSTINIT.
      	(cp_parser_init_declarator): Maybe pass LOOKUP_CONSTINIT to
      	cp_finish_decl.
      	(set_and_check_decl_spec_loc): Add "constinit".
      	* pt.c (tsubst_decl): Set TINFO_VAR_DECLARED_CONSTINIT.
      	(instantiate_decl): Maybe pass LOOKUP_CONSTINIT to cp_finish_decl.
      	* typeck2.c (store_init_value): If a constinit variable wasn't
      	initialized using a constant initializer, give an error.
      
      	* doc/invoke.texi: Document -Wc++20-compat.
      
      	* g++.dg/cpp2a/constinit1.C: New test.
      	* g++.dg/cpp2a/constinit2.C: New test.
      	* g++.dg/cpp2a/constinit3.C: New test.
      	* g++.dg/cpp2a/constinit4.C: New test.
      	* g++.dg/cpp2a/constinit5.C: New test.
      	* g++.dg/cpp2a/constinit6.C: New test.
      	* g++.dg/cpp2a/constinit7.C: New test.
      	* g++.dg/cpp2a/constinit8.C: New test.
      	* g++.dg/cpp2a/constinit9.C: New test.
      	* g++.dg/cpp2a/constinit10.C: New test.
      	* g++.dg/cpp2a/constinit11.C: New test.
      	* g++.dg/cpp2a/constinit12.C: New test.
      
      From-SVN: r275008
      Marek Polacek committed
    • re PR fortran/91565 (ICE in gfc_simplify_reshape, at fortran/simplify.c:6707 etc.) · 6e12721a
      2019-08-28  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91565
      	* simplify.c (gfc_simplify_reshape): Add additional checks of the
      	ORDER dummy argument.
      
      2019-08-28  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91565
      	* gfortran.dg/pr91565.f90: New test.
      
      From-SVN: r275007
      Steven G. Kargl committed
    • re PR fortran/91564 (ICE in gimplify_expr, at gimplify.c:14147) · ab0f6d4c
      2019-08-28  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91564
      	* check.c (gfc_check_kill_sub): Additional checks on status dummy
      	argument.
      
      2019-08-28  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91564
      	* gfortran.dg/pr91564.f90: New test.
      
      From-SVN: r275005
      Steven G. Kargl committed
    • Add .clangd and compile_commands.json to .gitignore. · 91eed5f2
      2019-08-28  Martin Liska  <mliska@suse.cz>
      
      	* .gitignore: Add .clangd and compile_commands.json
      	to .gitignore.
      
      From-SVN: r275004
      Martin Liska committed
    • [Preprocessor] small cleanups · a0be978a
      https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01904.html
      	* directives-only.c (_cpp_preprocess_dir_only): Use false, not
      	zero for _cpp_handle_directive call.
      	* directives.c (_cpp_handle_directive): Indented is bool.
      	* files.c (struct _cpp_file): Make bools 1 bit bitfields.
      	* internal.h (enum include_type): Reformat and comment.
      	(struct cpp_buffer): Make flags 1 bit bitfields.
      	(_cpp_handle_directive): Indented is bool.
      
      From-SVN: r274999
      Nathan Sidwell committed
    • compiler, runtime: provide index information on bounds check failure · fc4f90f0
          
          This implements https://golang.org/cl/161477 in the gofrontend.
          
          Updates golang/go#30116
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/191881
      
      From-SVN: r274998
      Ian Lance Taylor committed
    • PR tree-optimization/91457 - inconsistent warning for writing past the end of an array member · 464969eb
      gcc/ChangeLog:
      
      	PR tree-optimization/91457
      	* builtins.c (component_size): New function.
      	(compute_objsize): Add argument. Handle ARRAY_REF and COMPONENT_REF.
      	* builtins.h (compute_objsize): Add argument.
      	* tree-ssa-strlen.c (handle_store): Handle no-warning bit.
      	* tree-vrp.c (vrp_prop::check_array_ref): Return warning result.
      	(vrp_prop::check_mem_ref): Same.
      	(vrp_prop::search_for_addr_array): Set no-warning bit.
      	(check_array_bounds): Same.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/91457
      	* c-c++-common/Wstringop-overflow-2.c: New test.
      	* g++.dg/warn/Warray-bounds-8.C: New test.
      	* g++.dg/warn/Wstringop-overflow-3.C: New test.
      	* gcc.dg/Wstringop-overflow-15.c: New test.
      
      From-SVN: r274997
      Martin Sebor committed
    • PR driver/80545 - option -Wstringop-overflow not recognized by Fortran · e2eee239
      gcc/ChangeLog:
      
      	PR driver/80545
      	* opts-common.c (option_enabled): Correct checking for language
      	options.
      
      From-SVN: r274996
      Martin Sebor committed