1. 06 Jun, 2019 22 commits
    • Fix more tests that fail in C++2a mode · d561a18e
      	* testsuite/23_containers/unordered_map/requirements/debug_container.cc:
      	Do not test allocator rebinding extension for C++2a.
      	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
      	dg-do directive for C++17 and C++2a.
      
      From-SVN: r272009
      Jonathan Wakely committed
    • Add -march=gfx906 for AMD GCN. · 268d509d
      2019-06-06  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config.gcc (amdgcn-*-*): Allow --with-arch=gfx906.
      	* config/gcn/gcn.opt (gpu_type): Add gfx906.
      	* config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Add gfx906 multilib.
      	(MULTILIB_DIRNAMES): Rename gcn5 to gfx900.
      	Add gfx906.
      
      From-SVN: r272007
      Andrew Stubbs committed
    • [AArch64] PR tree-optimization/90332: Implement vec_init<M><N> where N is a vector mode · 41dab855
      This patch fixes the failing gcc.dg/vect/slp-reduc-sad-2.c testcase on aarch64
      by implementing a vec_init optab that can handle two half-width vectors producing a full-width one
      by concatenating them.
      
      In the gcc.dg/vect/slp-reduc-sad-2.c case it's a V8QI reg concatenated with a V8QI const_vector of zeroes.
      This can be implemented efficiently using the aarch64_combinez pattern that just loads a D-register to make
      use of the implicit zero-extending semantics of that load.
      Otherwise it concatenates the two vector using aarch64_simd_combine.
      
      With this patch I'm seeing the effect from richi's original patch that added gcc.dg/vect/slp-reduc-sad-2.c on aarch64
      and 525.x264_r improves by about 1.5%.
      
      	PR tree-optimization/90332
      	* config/aarch64/aarch64.c (aarch64_expand_vector_init):
      	Handle VALS containing two vectors.
      	* config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Rename
      	to...
      	(@aarch64_combinez<mode>): ... This.
      	(*aarch64_combinez_be<mode>): Rename to...
      	(@aarch64_combinez_be<mode>): ... This.
      	(vec_init<mode><Vhalf>): New define_expand.
      	* config/aarch64/iterators.md (Vhalf): Handle V8HF.
      
      From-SVN: r272002
      Kyrylo Tkachov committed
    • Fix tests that fail in C++2a mode · a2dbc0bf
      The GNU extension that allows using the wrong allocator type with a
      container is disabled for C++2a mode, because the standard now requires
      a diagnostic. Fix the tests that fail when -std=gnu++2a is used.
      
      Also remove some reundant tests that are duplicates of another test
      except for a target specifier of c++11. Those tests previously set
      -std=gnu++11 explicitly but that was replaced globally with a target
      specifier. These tests existed to verify that explicit instantiation
      worked for both C++98 and C++11 modes, but now do nothing because both
      copies of the test use -std=gnu++14 by default. Instead of duplicating
      the test we should be regularly running the whole testsuite with
      different -std options.
      
      	* testsuite/23_containers/deque/requirements/explicit_instantiation/
      	1_c++0x.cc: Remove redundant test.
      	* testsuite/23_containers/deque/requirements/explicit_instantiation/
      	2.cc: Use target selector instead of preprocessor condition.
      	* testsuite/23_containers/deque/requirements/explicit_instantiation/
      	3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/forward_list/requirements/
      	explicit_instantiation/3.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/
      	explicit_instantiation/5.cc: Do not test allocator rebinding extension
      	for C++2a.
      	* testsuite/23_containers/list/requirements/explicit_instantiation/
      	1_c++0x.cc: Remove redundant test.
      	* testsuite/23_containers/list/requirements/explicit_instantiation/
      	2.cc: Use target selector instead of preprocessor condition.
      	* testsuite/23_containers/list/requirements/explicit_instantiation/
      	3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/list/requirements/explicit_instantiation/
      	5.cc: Do not test allocator rebinding extension for C++2a.
      	* testsuite/23_containers/map/requirements/explicit_instantiation/
      	1_c++0x.cc: Remove redundant test.
      	* testsuite/23_containers/map/requirements/explicit_instantiation/
      	2.cc: Adjust comment.
      	* testsuite/23_containers/map/requirements/explicit_instantiation/
      	3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/map/requirements/explicit_instantiation/
      	5.cc: Do not test allocator rebinding extension for C++2a.
      	* testsuite/23_containers/multimap/requirements/explicit_instantiation/
      	1_c++0x.cc: Remove redundant test.
      	* testsuite/23_containers/multimap/requirements/explicit_instantiation/
      	3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/multimap/requirements/explicit_instantiation/
      	5.cc: Do not test allocator rebinding extension for C++2a.
      	* testsuite/23_containers/multiset/requirements/explicit_instantiation/
      	3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/multiset/requirements/explicit_instantiation/
      	5.cc: Do not test allocator rebinding extension for C++2a.
      	* testsuite/23_containers/set/requirements/explicit_instantiation/3.cc:
      	Do not run test for C++2a.
      	* testsuite/23_containers/set/requirements/explicit_instantiation/
      	1_c++0x.cc: Remove redundant test.
      	* testsuite/23_containers/set/requirements/explicit_instantiation/5.cc:
      	Do not test allocator rebinding extension for C++2a.
      	* testsuite/23_containers/unordered_map/requirements/
      	explicit_instantiation/3.cc: Likewise.
      	* testsuite/23_containers/unordered_map/requirements/
      	explicit_instantiation/5.cc: Do not test allocator rebinding extension
      	for C++2a.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	explicit_instantiation/3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	explicit_instantiation/5.cc: Do not test allocator rebinding extension
      	for C++2a.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	explicit_instantiation/3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	explicit_instantiation/5.cc: Do not test allocator rebinding extension
      	for C++2a.
      	* testsuite/23_containers/unordered_set/requirements/
      	explicit_instantiation/3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/unordered_set/requirements/
      	explicit_instantiation/5.cc: Do not test allocator rebinding extension
      	for C++2a.
      	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
      	2.cc: Remove redundant test.
      	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
      	3.cc: Do not run test for C++2a.
      	* testsuite/23_containers/vector/requirements/explicit_instantiation/
      	3.cc: Likewise.
      
      From-SVN: r272001
      Jonathan Wakely committed
    • Remove redundant static assertions in [meta.unary.prop] traits · 209ee624
      The type property predicates that are implemented by a compiler builtin
      already do the right checks in the compiler. The checks for complete
      type or unbounded arrays were wrong for these types anyway.
      
      	* include/std/type_traits (is_empty, is_polymorphic, is_final)
      	(is_abstract, is_aggregate): Remove static_assert.
      	* testsuite/20_util/is_abstract/incomplete_neg.cc: Check for error
      	from builtin only.
      	* testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise. Add
      	missing -std=gnu++17 option.
      	* testsuite/20_util/is_empty/incomplete_neg.cc: New test.
      	* testsuite/20_util/is_final/incomplete_neg.cc: New test.
      	* testsuite/20_util/is_polymorphic/incomplete_neg.cc: Check for error
      	from builtin only.
      
      From-SVN: r272000
      Jonathan Wakely committed
    • Fix tests that fail with -std=gnu++98 or -std=gnu++11 · 061a7450
      	* testsuite/18_support/set_terminate.cc: Do not run for C++98 mode.
      	* testsuite/18_support/set_unexpected.cc: Likewise.
      	* testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
      	void.
      	* testsuite/20_util/is_nothrow_invocable/value_ext.cc: Fix constexpr
      	function to be valid in C++11.
      	* testsuite/26_numerics/complex/proj.cc: Do not run for C++98 mode.
      	* testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
      	include Library Fundamentals or Networking headers in C++11 mode.
      	* testsuite/ext/char8_t/atomic-1.cc: Do not run for C++98 mode.
      
      From-SVN: r271999
      Jonathan Wakely committed
    • Refactor SFINAE constraints on std::tuple constructors · d355635e
      Replace the _TC class template with the better-named _TupleConstraints
      one, which provides a different set of member functions. The new members
      do not distinguish construction from lvalues and rvalues, but expects
      the caller to do that by providing different template arguments. Within
      the std::tuple primary template and std::tuple<T1, T2> partial
      specialization the _TupleConstraints members are used via new alias
      templates like _ImplicitCtor and _ExplicitCtor which makes the
      constructor constraints less verbose and repetitive. For example, where
      we previously had:
      
           template<typename... _UElements, typename
                   enable_if<
                      _TMC<_UElements...>::template
                         _MoveConstructibleTuple<_UElements...>()
                       && _TMC<_UElements...>::template
                         _ImplicitlyMoveConvertibleTuple<_UElements...>()
                       && (sizeof...(_Elements) >= 1),
             bool>::type=true>
             constexpr tuple(_UElements&&... __elements)
      
      We now have:
      
           template<typename... _UElements,
                   bool _Valid = __valid_args<_UElements...>(),
                   _ImplicitCtor<_Valid, _UElements...> = true>
            constexpr
            tuple(_UElements&&... __elements)
      
      There are two semantic changes as a result of the refactoring:
      
      - The allocator-extended default constructor is now constrained.
      - The rewritten constraints fix PR 90700.
      
      	* include/std/tuple (_TC): Replace with _TupleConstraints.
      	(_TupleConstraints): New helper for SFINAE constraints, with more
      	expressive member functions to reduce duplication when used.
      	(tuple::_TC2, tuple::_TMC, tuple::_TNTC): Remove.
      	(tuple::_TCC): Replace dummy type parameter with bool non-type
      	parameter that can be used to check the pack size.
      	(tuple::_ImplicitDefaultCtor, tuple::_ExplicitDefaultCtor)
      	(tuple::_ImplicitCtor, tuple::_ExplicitCtor): New alias templates for
      	checking constraints in constructors.
      	(tuple::__valid_args, tuple::_UseOtherCtor, tuple::__use_other_ctor):
      	New SFINAE helpers.
      	(tuple::tuple): Use new helpers to reduce repitition in constraints.
      	(tuple::tuple(allocator_arg_t, const Alloc&)): Constrain.
      	(tuple<T1, T2>::_TCC, tuple<T1, T2>::_ImplicitDefaultCtor)
      	(tuple<T1, T2>::_ExplicitDefaultCtor, tuple<T1, T2>::_ImplicitCtor)
      	(tuple<T1, T2>::_ExplicitCtor): New alias templates for checking
      	constraints in constructors.
      	(tuple::__is_alloc_arg()): New SFINAE helpers.
      	(tuple<T1, T2>::tuple): Use new helpers to reduce repitition in
      	constraints.
      	(tuple<T1, T2>::tuple(allocator_arg_t, const Alloc&)): Constrain.
      	* testsuite/20_util/tuple/cons/90700.cc: New test.
      	* testsuite/20_util/tuple/cons/allocators.cc: Add default constructor
      	to meet new constraint on allocator-extended default constructor.
      
      From-SVN: r271998
      Jonathan Wakely committed
    • MSP430: Use minimal code size library shift functions when optimizing for size · ec573765
      gcc/ChangeLog
      
      2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.md (ashlhi3): Use the const_variant of shift
      	library functions only when not optimizing for size.
      	(ashlsi3): Likewise.
      	(ashrhi3): Likewise.
      	(ashrsi3): Likewise.
      	(lshrhi3): Likewise.
      	(lshrsi3): Likewise.
      
      gcc/testsuite/ChangeLog
      
      2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* gcc.target/msp430/size-optimized-shifts.c: New test.
      
      From-SVN: r271997
      Jozef Lawrynowicz committed
    • re PR rtl-optimization/88751 (Performance regression reload vs lra) · 891f31f9
      Fix PR88751
      
      This patch implements a small improvement for the heuristic in lra
      which decides when it has to activate the simpler register allocation
      algorithm.
      
      gcc/ChangeLog:
      
      2019-06-06  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	PR rtl-optimization/88751
      	* ira.c (ira): Use the number of the actually referenced registers
      	when calculating the threshold.
      
      From-SVN: r271996
      Andreas Krebbel committed
    • * configure: Regenerate. · a96ed9f7
      From-SVN: r271994
      Jakub Jelinek committed
    • MSP430: Emulate 16-bit shifts with rotate insn when src operand is in memory · e445e4b4
      gcc/ChangeLog
      
      2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.md (ashlhi3): Force shift src operand into a
      	register if it is in memory, so the shift can be emulated with a rotate
      	instruction.
      	(ashrhi3): Likewise.
      	(lshrhi3): Likewise.
      
      gcc/testsuite/ChangeLog
      
      2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* gcc.target/msp430/emulate-slli.c: New test.
      	* gcc.target/msp430/emulate-srai.c: New test.
      	* gcc.target/msp430/emulate-srli.c: New test.
      
      From-SVN: r271993
      Jozef Lawrynowicz committed
    • MSP430: Put libgcc shift functions in their own section · d1b2f85f
      2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/slli.S (__mspabi_slli_n): Put function in its own
      	section.
      	(__mspabi_slli): Likewise.
      	(__mspabi_slll_n): Likewise.
      	(__mspabi_slll): Likewise.
      	* config/msp430/srai.S (__mspabi_srai_n): Likewise.
      	(__mspabi_srai): Likewise.
      	(__mspabi_sral_n): Likewise.
      	(__mspabi_sral): Likewise.
      	* config/msp430/srli.S (__mspabi_srli_n): Likewise.
      	(__mspabi_srli): Likewise.
      	(__mspabi_srll_n): Likewise.
      	(__mspabi_srll): Likewise.
      
      From-SVN: r271992
      Jozef Lawrynowicz committed
    • Simplify mult where both arguments are 0 or 1 (PR tree-optimization/87954). · ea8a6038
      2019-06-06  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/87954
      	* match.pd: Simplify mult where both arguments are 0 or 1.
      2019-06-06  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/87954
      	* gcc.dg/pr87954.c: New test.
      
      From-SVN: r271991
      Martin Liska committed
    • vr-values.c (vr_values::extract_range_from_ssa_name): Do not put equivalences on UNDEFINED ranges. · 8ce6fb5f
      2019-06-06  Richard Biener  <rguenther@suse.de>
      
      	* vr-values.c (vr_values::extract_range_from_ssa_name): Do not
      	put equivalences on UNDEFINED ranges.
      	* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children):
      	Make sure to drop defs of stmts added during simplification
      	to VARYING.
      
      From-SVN: r271990
      Richard Biener committed
    • tree-ssa-structalias.c: Include tree-cfg.h. · ed315c04
      2019-06-06  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c: Include tree-cfg.h.
      	(make_heapvar): Do not make heap vars artificial.
      	(find_func_aliases_for_builtin_call): Handle stack allocation
      	functions.
      	(find_func_aliases): Delay processing of simple enough returns
      	in non-IPA mode.
      	(set_uids_in_ptset): Adjust.
      	(find_what_var_points_to): Likewise.
      	(solve_constraints): Do not dump points-to sets here.
      	(compute_points_to_sets): Post-process return statements,
      	amending the escaped solution.  Dump points-to sets afterwards.
      	(ipa_pta_execute): Dump points-to sets.
      
      	* gcc.dg/tree-ssa/alias-37.c: New testcase.
      	* gcc.dg/torture/20190604-1.c: Likewise.
      	* gcc.dg/tree-ssa/pta-callused.c: Adjust.
      
      From-SVN: r271989
      Richard Biener committed
    • Fix HTML headers and titles for 'Installing GCC' pages (PR web/87933). · c45c8424
      2019-06-06  Martin Liska  <mliska@suse.cz>
      
      	PR web/87933
      	* doc/install.texi: Fix HTML headers and
      	titles for 'Installing GCC' pages.
      
      From-SVN: r271988
      Martin Liska committed
    • IPA ICF: enhance dump output · ee137b40
      2019-06-06  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf-gimple.h (dump_message_1): Remove.
      	(dump_message): Likewise.
      	(return_false_with_message_1): Print also file.
      	(return_false_with_msg): Likewise.
      	(return_with_result): Likewise.
      	(return_with_debug): Likewise.
      	* ipa-icf.c (sem_function::equals_private): Remove call
      	to dump_message.
      
      From-SVN: r271987
      Martin Liska committed
    • [ARC] Update tmac tests. · 248fabe6
      Fix order of dg-directives such that tests are executed only when
      there is no command line cpu option given.
      
      gcc/testsuite/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/tmac-1.c: Reoreder dg-directives.
      	* gcc.target/arc/tmac-2.c: Likewise.
      
      From-SVN: r271986
      Claudiu Zissulescu committed
    • PR c/90737 - [8/9/10 Regression] inconsistent address of a local converted to… · 65985d78
      PR c/90737 - [8/9/10 Regression] inconsistent address of a local converted to intptr_t between callee and caller
      
      gcc/c/ChangeLog:
      
      	PR c/90737
      	* c-typeck.c (c_finish_return): Only consider functions returning
      	pointers as candidates for -Wreturn-local-addr.
      
      gcc/cp/ChangeLog:
      
      	PR c/90737
      	* typeck.c (maybe_warn_about_returning_address_of_local): Only
      	consider functions returning pointers as candidates for
      	-Wreturn-local-addr.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/90737
      	* c-c++-common/Wreturn-local-addr.c: New test.
      	* g++.dg/warn/Wreturn-local-addr-6.C: New test.
      
      From-SVN: r271985
      Martin Sebor committed
    • sse.md (define_mode_suffix vecmemsuffix): New. · 3146ec83
      gcc/
      2019-06-05  Hongtao Liu  <hongtao.liu@intel.com>
      
      	* config/i386/sse.md (define_mode_suffix vecmemsuffix): New.
      	(define_insn "avx512dq_fpclass<mode><mask_scalar_merge_name>"): Enable
      	memory operand for it.
      	(define_insn "avx512dq_vmfpclass<mode><mask_scalar_merge_name>"): Ditto.
      
      gcc/testsuite
      2019-06-05  Hongtao Liu  <hongtao.liu@intel.com>
      
      	* gcc.target/i386/avx512dq-vfpclasspd-1.c: Adjust scan assember
      	for {x,y,z} suffix.
      	* gcc.target/i386/avx512dq-vfpclassps-1.c: Ditto.
      
      From-SVN: r271984
      Hongtao Liu committed
    • compiler: make use of specialized fast map routines · 269f05ff
          
          In the runtime there are specialized fast map routines for
          certain kep types. This CL lets the compiler make use of these
          functions, instead of always using the generic ones.
          
          As we now generate multiple versions of map delete calls, to make
          things easier we delay the expansion of the built-in delete
          function to flatten phase.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180858
      
      From-SVN: r271983
      Ian Lance Taylor committed
    • Daily bump. · 91bd9240
      From-SVN: r271982
      GCC Administrator committed
  2. 05 Jun, 2019 18 commits
    • config.host (rx-*-linux*): Add t-fdpbit to tmake_file Add appropriate tm_file clause as well. · e69a13d1
              * config.host (rx-*-linux*): Add t-fdpbit to tmake_file
              Add appropriate tm_file clause as well.
              * config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Remove.
      
      From-SVN: r271978
      Yoshinori Sato committed
    • crtbegin.S (__dso_handle): Put in .sdata/.sbss rather than .data/.bss so it can be accessed via... · b009eac1
      	* config/ia64/crtbegin.S (__dso_handle): Put in .sdata/.sbss
      	rather than .data/.bss so it can be accessed via gp-relative
      	addressing.
      
      From-SVN: r271977
      James Clarke committed
    • compiler: inline call expressions and function references · 5a942266
          
          Scan inlinable methods for references to global variables and
          functions (forgot to do that earlier).
          
          Track all packages mentioned by exports (that should have been done
          earlier too).
          
          Record assembler name in export data, so that we can inline calls to
          non-Go functions.  Modify gccgoimporter code to skip assembler name.
          
          This increases the number of inlinable functions in the standard
          library from 215 to 439.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180677
      
      From-SVN: r271976
      Ian Lance Taylor committed
    • gcc_diag-11.c: Skip until -Wformat-diag has been committed. · 388aa754
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/format/gcc_diag-11.c: Skip until -Wformat-diag has
      	been committed.
      
      From-SVN: r271975
      Martin Sebor committed
    • decl.c (smallest_type_location): New. · 2212ae95
      /cp
      2019-06-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (smallest_type_location): New.
      	(check_special_function_return_type): Use it.
      	(grokdeclarator): Lkewise.
      
      /testsuite
      2019-06-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/diagnostic/return-type-invalid-1.C: New.
      	* g++.old-deja/g++.brendan/crash16.C: Adjust.
      	* g++.old-deja/g++.law/ctors5.C: Likewise.
      
      /cp
      2019-06-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (grokdeclarator): Use locations[ds_friend]
      	in one place.
      
      /testsuite
      2019-06-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/other/friend4.C: Test locations too.
      	* g++.dg/other/friend5.C: Likewise.
      	* g++.dg/other/friend7.C: Likewise.
      
      From-SVN: r271974
      Paolo Carlini committed
    • c-decl.c (start_decl): Adjust quoting and hyphenation in diagnostics. · 0ecf545c
      
      gcc/c/ChangeLog:
      
      	* c-decl.c (start_decl): Adjust quoting and hyphenation
      	in diagnostics.
      	(finish_decl): Same.
      	(finish_enum): Same.
      	(start_function): Same.
      	(declspecs_add_type): Same.
      	* c-parser.c (warn_for_abs): Same.
      	* c-typeck.c (build_binary_op): Same.
      
      gcc/c-family/ChangeLog:
      
      	* c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
      	(handle_alias_ifunc_attribute): Same.
      	(handle_copy_attribute): Same.
      	(handle_weakref_attribute): Same.
      	(handle_nonnull_attribute): Same.
      	* c-warn.c (warn_for_sign_compare): Same.
      	(warn_for_restrict): Same.
      	* c.opt: Same.
      
      gcc/cp/ChangeLog:
      
      	* call.c (build_conditional_expr_1): Adjust quoting and hyphenation.
      	(convert_like_real): Same.
      	(convert_arg_to_ellipsis): Same.
      	* constexpr.c (diag_array_subscript): Same.
      	* constraint.cc (diagnose_trait_expression): Same.
      	* cvt.c (ocp_convert): Same.
      	* decl.c (start_decl): Same.
      	(check_for_uninitialized_const_var): Same.
      	(grokfndecl): Same.
      	(check_special_function_return_type): Same.
      	(finish_enum_value_list): Same.
      	(start_preparsed_function): Same.
      	* parser.c (cp_parser_decl_specifier_seq): Same.
      	* typeck.c (cp_build_binary_op): Same.
      	(build_static_cast_1): Same.
      
      gcc/lto/ChangeLog:
      
      	* lto-common.c (lto_file_finalize): Adjust quoting and hyphenation.
      
      gcc/objc/ChangeLog:
      
      	* objc-act.c (objc_build_setter_call): Adjust quoting and hyphenation.
      	* objc-encoding.c (encode_gnu_bitfield): Same.
      
      gcc/ChangeLog:
      
      	* config/i386/i386-features.c (ix86_get_function_versions_dispatcher):
      	Adjust quoting and hyphenation.
      	* convert.c (convert_to_real_1): Same.
      	* gcc.c (driver_wrong_lang_callback): Same.
      	(driver::handle_unrecognized_options): Same.
      	* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Same.
      	* opts-common.c (cmdline_handle_error): Same.
      	(read_cmdline_option): Same.
      	* opts-global.c (complain_wrong_lang): Same.
      	(print_ignored_options): Same.
      	(handle_common_deferred_options): Same.
      	* pretty-print.h: Same.
      	* print-rtl.c (debug_bb_n_slim): Same.
      	* sched-rgn.c (make_pass_sched_fusion): Same.
      	* tree-cfg.c (verify_gimple_assign_unary): Same.
      	(verify_gimple_label): Same.
      	* tree-ssa-operands.c (verify_ssa_operands): Same.
      	* varasm.c (do_assemble_alias): Same.
      	(assemble_alias): Same.
      
      From-SVN: r271971
      Martin Sebor committed
    • alpha.c (direct_return): Move down after struct machine_function definition... · 0191520b
      	* config/alpha/alpha.c (direct_return): Move down after
      	struct machine_function definition; use saved frame_size;
      	return bool.
      	(struct machine_function): Add sa_mask, sa_size, frame_size.
      	(alpha_sa_mask, alpha_sa_size, compute_frame_size): Merge into ...
      	(alpha_compute_frame_layout): ... new function.
      	(TARGET_COMPUTE_FRAME_LAYOUT): New.
      	(alpha_initial_elimination_offset): Use saved sa_size.
      	(alpha_vms_initial_elimination_offset): Likewise.
      	(alpha_vms_can_eliminate): Remove alpha_sa_size call.
      	(alpha_expand_prologue): Use saved frame data.  Merge integer
      	and fp register save loops.
      	(alpha_expand_epilogue): Likewise.
      	(alpha_start_function): Use saved frame data.
      	* config/alpha/alpha-protos.h (direct_return): Update.
      	(alpha_sa_size): Remove.
      
      From-SVN: r271970
      Richard Henderson committed
    • ChangeLog for PR c++/63149 · 6f0926e6
      From-SVN: r271969
      Nina Dinka Ranns committed
    • PR c++/63149 - wrong auto deduction from braced-init-list · 9b79d5d3
      2019-06-04  Nina Dinka Ranns  <dinka.ranns@gmail.com>
      
          gcc/cp/
          * pt.c (listify_autos): Use non cv qualified auto_node in
          std::initializer_list<auto>.
      
          testsuite/
          * g++.dg/cpp0x/initlist-deduce2.C: New test.
      
      From-SVN: r271968
      Nina Dinka Ranns committed
    • aix-unwind.h (LR_REGNO): Rename to R_LR. · 781d39f2
      * config/rs6000/aix-unwind.h (LR_REGNO): Rename to R_LR.
      (CR2_REGNO): Rename to R_CR2.
      (XER_REGNO): Rename to R_XER.
      (FIRST_ALTIVEC_REGNO): Rename to R_FIRST_ALTIVEC.
      (VRSAVE_REGNO): Rename to R_VRSAVE.
      (VSCR_REGNO): R_VSCR.
      
      From-SVN: r271967
      David Edelsohn committed
    • rs6000: Fix new testcase · a637fd40
      At least with -m32 you need -maltivec if you #include <altivec.h>.
      
      
      gcc/testsuite/
      	* g++.target/powerpc/undef-bool-3.C: Add -maltivec to dg-options.
      
      From-SVN: r271966
      Segher Boessenkool committed
    • c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic. · 36b34127
      
      gcc/c-family/ChangeLog:
      
      	* c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
      	* c.opt (-Wformat-diag): Remove a spurious period.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/weak/weak-19.c: New test.
      
      From-SVN: r271965
      Martin Sebor committed
    • fold-const.c (extract_muldiv_1): Do not distribute a multiplication by a power-of-two value. · c613138b
      	* fold-const.c (extract_muldiv_1) <PLUS_EXPR>: Do not distribute a
      	multiplication by a power-of-two value.
      	(fold_plusminus_mult_expr): Use pow2p_hwi to spot a power-of-two value
      	and turn the modulo operation into a masking operation.
      
      From-SVN: r271963
      Eric Botcazou committed
    • [PATCH][GCC][AARCH64] Add tests for pointer authentication B-key · 2098f8ec
      	gcc/testsuite/ChangeLog
      	* gcc.target/aarch64/return_address_sign_b_1.c: New file.
      	* gcc.target/aarch64/return_address_sign_b_2.c: New file.
      	* gcc.target/aarch64/return_address_sign_b_3.c: New file.
      	* gcc.target/aarch64/return_address_sign_builtin.c: New file.
      	* g++.target/aarch64/return_address_sign_ab_exception.C: New file.
      	* g++.target/aarch64/return_address_sign_b_exception.C: New file.
      
      From-SVN: r271954
      Sam Tebbs committed
    • re PR debug/90733 (ICE in simplify_subreg, at simplify-rtx.c:6440) · d301c1a4
      	PR debug/90733
      	* var-tracking.c (vt_expand_loc_callback): Don't create raw subregs
      	with VOIDmode inner operands.
      
      	* gcc.dg/pr90733.c: New test.
      
      From-SVN: r271952
      Jakub Jelinek committed
    • re PR middle-end/90726 (exponential behavior on SCEV results everywhere) · e0aecd6e
      2019-06-05  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/90726
      	* tree-ssa-loop-niter.c (expand_simple_operations): Do not
      	turn an expression graph into a tree.
      
      	* gcc.dg/pr90726.c: Enable IVOPTs.
      
      From-SVN: r271950
      Richard Biener committed
    • omp-expand.c (struct omp_region): Add has_lastprivate_conditional member. · 0b887b75
      	* omp-expand.c (struct omp_region): Add has_lastprivate_conditional
      	member.
      	(expand_parallel_call): If region->inner->has_lastprivate_conditional,
      	treat it like explicit monotonic schedule modifier.
      	(expand_omp_for): Initialize has_lastprivate_conditional.
      	If fd.lastprivate_conditional != 0, treat it like explicit monotonic
      	schedule modifier.
      
      From-SVN: r271949
      Jakub Jelinek committed
    • omp-low.c (lower_rec_input_clauses): For lastprivate conditional references... · 28b3a77c
      	* omp-low.c (lower_rec_input_clauses): For lastprivate conditional
      	references, lookup in in hash map MEM_REF operand instead of the
      	MEM_REF itself.
      	(lower_omp_1): When looking for lastprivate conditional assignments,
      	handle MEM_REFs with REFERENCE_TYPE operands.
      
      	* testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
      	* testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
      
      From-SVN: r271948
      Jakub Jelinek committed