1. 26 May, 2019 9 commits
    • i386.md (@leave_<mode>): New expander. · a963ca40
      	* config/i386/i386.md (@leave_<mode>): New expander.
      	(*leave): Rename from leave.
      	(*leave_rex64): Rename from leave_rex64.
      	(@monitorx_<mode>): Rename from monitorx_<mode>.
      	(@clzero_<mode>): Rename from clzero_<mode>.
      	* config/i386/sse.md (@sse3_monitor_<mode>): Rename from
      	sse3_monitor_<mode>.
      	* config/i386/i386.c (*ix86_gen_leave): Remove indirect function.
      	(*ix86_gen_monitor): Ditto.
      	(*ix86_gen_monitorx): Ditto.
      	(*ix86_gen_clzero): Ditto.
      	(*ix86_gen_one_cmpl2): Ditto.
      	(ix86_emit_leave): Use gen_leave instead of ix86_gen_leave.
      	* config/i386/i386-expand.c (ix86_expand_builtin)
      	<case IX86_BUILTIN_MONITOR>: Use gen_sse3_monitor
      	instead of ix86_gen_monitor.
      	<case IX86_BUILTIN_MONITORX>: Use gen_monitorx
      	instead of ix86_gen_monitorx.
      	<case IX86_BUILTIN_CLZERO>: Use gen_clzero
      	instead of ix86_gen_clzero.
      	* config/i386/i386-options.c (ix86_option_override_internal):
      	Do not initialize ix86_gen_leave, ix86_gen_monitor,
      	ix86_gen_monitorx, ix86_gen_clzero and ix86_gen_one_cmpl2.
      
      	* config/i386/i386.md (@tls_global_dynamic_64_<mode>):
      	Rename from tls_global_dynamic_64_<mode>.
      	(@tls_local_dynamic_base_64_<mode>): Rename from
      	tls_local_dynamic_base_64_<mode>.
      	* config/i386/i386.c (*ix86_gen_tls_global_dynamic_64):
      	Remove indirect function.
      	(*ix86_gen_tls_local_dynamic_base_64): Ditto.
      	(legitimize_tls_address): Use gen_tls_global_dynamic_64 function
      	instead of ix86_gen_tls_global_dynamic_64.
      	Use gen_tls_local_dynamic_base_64 instead of
      	ix86_gen_tls_local_dynamic_base_64.
      	* config/i386/i386-options.c (ix86_option_override_internal):
      	Do not initialize ix86_gen_tls_global_dynamic_64 and
      	ix86_gen_tls_local_dynamic_base_64.
      
      	* config/i386/i386.md (@pro_epilogue_adjust_stack_add_<mode>)
      	Rename from pro_epilogue_adjust_stack_<mode>_add.
      	(@pro_epilogue_adjust_stack_sub_<mode>)
      	Rename from pro_epilogue_adjust_stack_<mode>_sub.
      	(@allocate_stack_worker_probe_<mode>):
      	Rename from allocate_stack_worker_probe_<mode>.
      	(allocate_stack): Use gen_allocate_stack_worker_probe.
      	(probe_stack): Use gen_probe_stack_1.
      	(@probe_stack_1_<mode>): Rename from probe_stack_<mode>.
      	(@adjust_stack_and_probe_<mode>): Rename from
      	adjust_stack_and_probe<mode>.
      	(@probe_stack_range_<mode>): Rename from probe_stack_range<mode>.
      	(stack_protect_set): Use gen_stack_protect_set_1.
      	(@stack_protect_set_1_<mode>): Rename from stack_protect_set_<mode>.
      	(stack_protect_test): Use gen_stack_protect_test_1.
      	(@stack_protect_test_1_<mode>): Rename from stack_protect_test_<mode>.
      	* config/i386/i386.c (*ix86_gen_allocate_stack_worker):
      	Remove indirect function.
      	(*ix86_gen_adjust_stack_and_probe): Ditto.
      	(*ix86_gen_probe_stack_range): Ditto.
      	(pro_epilogue_adjust_stack): Use gen_pro_epilogue_adjust_stack_add
      	instead of gen_pro_epilogue_adjust_stack_{si,di}_add.
      	(ix86_adjust_stack_and_probe_stack_clash): Use
      	gen_adjust_stack_and_probe instead of ix86_gen_adjust_stack_and_probe.
      	(ix86_adjust_stack_and_probe): Ditto.
      	(ix86_emit_probe_stack_range): Use gen_probe_stack_range instead
      	of ix86_gen_probe_stack_range.
      	(ix86_expand_prologue):  Use gen_pro_epilogue_adjust_stack_sub
      	instead of gen_pro_epilogue_adjust_stack_{si,di}_sub.
      	* config/i386/x86-tune-sched.c (ix86_macro_fusion_pair_p):
      	Include insn-opinit.h.  Use code_for_stack_protect_test_1 instead of
      	CODE_FOR_stack_protect_test_{si,di}.
      	* config/i386/i386-options.c (ix86_option_override_internal):
      	Do not initialize ix86_gen_allocate_stack_worker,
      	ix86_gen_adjust_stack_and_probe and ix86_gen_probe_stack_range.
      
      From-SVN: r271636
      Uros Bizjak committed
    • appendix_contributing.xml: Update pointer to C++ standard at ansi.org. · 558f3941
      	* doc/xml/manual/appendix_contributing.xml: Update pointer to
      	C++ standard at ansi.org.
      
      From-SVN: r271635
      Gerald Pfeifer committed
    • darwin, x86, testsuite - Amend three PIE tests, · 2e776eff
      Darwin requires PIC code in order to support PIE, amend the test scan-asms
      to match this.
      
      2019-05-26  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/pr39013-1.c: Adjust scan-asms for PIE to
      	account for PIC code on Darwin.
      	* gcc.target/i386/pr39013-2.c: Likewise.
      	* gcc.target/i386/pr64317.c: Likewise.
      
      From-SVN: r271634
      Iain Sandoe committed
    • invoke.texi (Link Options): Many editorial changes around -flinker-output. · e1fb36b8
      	* doc/invoke.texi (Link Options): Many editorial changes around
      	-flinker-output.
      
      From-SVN: r271633
      Gerald Pfeifer committed
    • linux-unwind.h (pa32_fallback_frame_state): Add cast. · abbb8307
      	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Add cast.
      
      From-SVN: r271631
      John David Anglin committed
    • re PR fortran/90539 (481.wrf slowdown by 25% on Intel Kaby with -Ofast… · c51ecf28
      re PR fortran/90539 (481.wrf slowdown by 25% on Intel Kaby with -Ofast -march=native starting with r271377)
      
      2019-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/90539
      	* trans-types.c (get_formal_from_actual_arglist): Set rank
      	and lower bound for assumed size arguments.
      
      From-SVN: r271630
      Thomas Koenig committed
    • Added ChangeLog entry for last commit. · 6145df62
      From-SVN: r271629
      Rainer Orth committed
    • Remove Solaris 10-only note about -mvect8-ret-in-mem · 11a04334
      From-SVN: r271628
      Rainer Orth committed
    • Daily bump. · ddc9512a
      From-SVN: r271627
      GCC Administrator committed
  2. 25 May, 2019 5 commits
  3. 24 May, 2019 19 commits
    • re PR target/90530 (Invalid SUBREG insn generated by reload) · 0241901b
      	PR target/90530
      	* config/pa/pa.c (pa_can_change_mode_class): Accept mode changes from
      	DImode to SImode in floating-point registers on 64-bit target.
      	* config/pa/pa.md (umulsidi3): Change nonimmediate_operand to
      	register_operand in xmpyu patterns.
      
      From-SVN: r271611
      John David Anglin committed
    • tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CONDTEMP_. · 6c7ae8c5
      	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CONDTEMP_.
      	* tree.h (OMP_CLAUSE_DECL): Use OMP_CLAUSE__CONDTEMP_ instead of
      	OMP_CLAUSE__REDUCTEMP_.
      	* tree.c (omp_clause_num_ops, omp_clause_code_name): Add
      	OMP_CLAUSE__CONDTEMP_.
      	(walk_tree_1): Handle OMP_CLAUSE__CONDTEMP_.
      	* tree-pretty-print.c (dump_omp_clause): Likewise.
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Likewise.
      	* gimplify.c (enum gimplify_omp_var_data): Use hexadecimal constants
      	instead of decimal.  Add GOVD_LASTPRIVATE_CONDITIONAL.
      	(gimplify_scan_omp_clauses): Don't reject lastprivate conditional
      	on OMP_FOR.
      	(gimplify_omp_for): Warn and disable conditional modifier from
      	lastprivate on loop iterators.
      	* omp-general.h (struct omp_for_data): Add lastprivate_conditional
      	member.
      	* omp-general.c (omp_extract_for_data): Initialize it.
      	* omp-low.c (struct omp_context): Add lastprivate_conditional_map
      	member.
      	(delete_omp_context): Delete it.
      	(lower_lastprivate_conditional_clauses): New function.
      	(lower_lastprivate_clauses): Add BODY_P and CSTMT_LIST arguments,
      	handle lastprivate conditional clauses.
      	(lower_reduction_clauses): Add CLIST argument, emit it into
      	the critical section if any.
      	(lower_omp_sections): Adjust lower_lastprivate_clauses and
      	lower_reduction_clauses callers.
      	(lower_omp_for_lastprivate): Add CLIST argument, pass it through
      	to lower_lastprivate_clauses.
      	(lower_omp_for): Call lower_lastprivate_conditional_clauses, adjust
      	lower_omp_for_lastprivate and lower_reduction_clauses callers, emit
      	clist into a critical section if not emitted there already by
      	lower_reduction_clauses.
      	(lower_omp_taskreg, lower_omp_teams): Adjust lower_reduction_clauses
      	callers.
      	(lower_omp_1): Handle GIMPLE_ASSIGNs storing into lastprivate
      	conditional variables.
      	* omp-expand.c (determine_parallel_type): Punt if OMP_CLAUSE__CONDTEMP_
      	clause is present.
      	(expand_omp_for_generic, expand_omp_for_static_nochunk,
      	expand_omp_for_static_chunk): Handle lastprivate conditional.
      	(expand_omp_for): Handle fd.lastprivate_conditional like
      	fd.have_reductemp.
      gcc/testsuite/
      	* c-c++-common/gomp/lastprivate-conditional-2.c (foo): Don't expect
      	sorry for omp for.
      	* c-c++-common/gomp/lastprivate-conditional-3.c: New test.
      libgomp/
      	* testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
      	* testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
      
      From-SVN: r271610
      Jakub Jelinek committed
    • Fix std::midpoint(T*, T*) for reversed arguments · 09b4000c
      	* include/std/numeric (midpoint(T*, T*)): Fix incorrect result.
      	* testsuite/26_numerics/midpoint/pointer.cc: Change "compile" test
      	to "run".
      
      From-SVN: r271606
      Jonathan Wakely committed
    • GCN: Wait for exit value to write before exiting. · e8daba7e
      2019-05-24  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn-run.c (main): Set a non-zero return value if the
      	kernel does not exit cleanly.
      	* config/gcn/gcn.md (gcn_return): Insert s_waitcnt before s_dcache_wb.
      
      From-SVN: r271605
      Andrew Stubbs committed
    • Revert "* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE." · c2465dae
      This reverts commit ac0f04360cc04e5b80a7d74f7edc47e395d2e744.
      
      From-SVN: r271604
      Jason Merrill committed
    • Fix broken shared_ptr test · 2fb1b29d
      	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: Fix test.
      	* testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused function.
      
      From-SVN: r271603
      Jonathan Wakely committed
    • Makefile.am (BUILDTESTS): Remove test_elf, add test_elf_32 and test_elf_64. · 245254b8
      	* Makefile.am (BUILDTESTS): Remove test_elf, add test_elf_32 and
      	test_elf_64.
      	* Makefile.in: Regenerate.
      
      From-SVN: r271602
      Clement Chigot committed
    • re PR middle-end/90607 (gcc.dg/pr53265.c FAILs) · dbd59515
      2019-05-24  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/90607
      	* tree-loop-distribution.c (struct partition): Add location
      	member.
      	(partition_alloc): Initialize all fields.
      	(generate_memset_builtin): Use the location recorded in the
      	partition for the generated call.
      	(generate_memcpy_builtin): Likewise.
      	(classify_partition): Record the location of a single store
      	as location for the partition.
      
      	* gcc.dg/pr53265.c: Amend for new expected diagnostic.
      
      From-SVN: r271601
      Richard Biener committed
    • Fix 64-bit addition in prologue. · 3258c2d6
      2019-05-24  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn.c (gcn_expand_prologue): Use gen_addsi3_scalar_carry
      	for lo-part.
      
      From-SVN: r271600
      Andrew Stubbs committed
    • [aarch64] Change two function declaration types · 1ec77eed
      
      Commit r271514 missed changing the type of two functions in
      aarch64-protos.h.  The function definitions had been updated to use
      uint64_t while the function declarations had been missed.
      They were missed since I only tested the patch on aarch64 where
      `unsigned long` is the same as `uint64_t`.
      
      This patch updates these declarations in aarch64-protos.h.
      
      Tested by building an aarch64 cross-compiler on arm-none-linux-gnu (so
      that `unsigned long` and `uint64_t` are different and would give error
      messages), and bootstrapping on aarch64-none-linux-gnu.
      Also manually tested command line options to see that
      -march=armv8-a+typo prints out the expected flags while using the new
      feature flags does not complain about missing flags.
      
      gcc/ChangeLog:
      
      2019-05-24  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	PR target/90588
      	* common/config/aarch64/aarch64-common.c
      	(aarch64_rewrite_selected_cpu): Change local temporary variable
      	type from unsigned long to uint64_t.
      	* config/aarch64/aarch64-protos.h (aarch64_parse_extension,
      	aarch64_get_extension_string_for_isa_flags): Change declaration to
      	match new definition by replacing unsigned long with uint64_t.
      
      From-SVN: r271599
      Matthew Malcomson committed
    • re PR tree-optimization/90106 (builtin sqrt() ignoring libm's sqrt call result) · 64124cef
      	PR tree-optimization/90106
      	PR testsuite/90517
      	* gcc.dg/cdce1.c: Don't scan-assembler, instead -fdump-tree-optimized
      	and scan-tree-dump for tail call.
      	* gcc.dg/cdce2.c: Likewise.
      
      From-SVN: r271598
      Jakub Jelinek committed
    • re PR libgomp/90585 (libgomp hsa plugin ftbfs in the x32 multilib variant) · b5c26449
      	PR libgomp/90585
      	* plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
      	HAVE_INTTYPES_H is defined.
      	(print_uint64_t): New typedef.
      	(PRIu64): Define if HAVE_INTTYPES_H is not defined.
      	(print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
      	"lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
      	(release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
      	before casting to void *.
      	* plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
      	* oacc-mem.c: Don't include config.h nor stdint.h.
      	* target.c: Don't include config.h.
      	* oacc-cuda.c: Likewise.
      	* oacc-host.c: Don't include stdint.h.
      
      From-SVN: r271597
      Jakub Jelinek committed
    • re PR target/90568 (stack protector should use cmp or sub, not xor, to allow macro-fusion on x86) · d2e8b6ae
      	PR target/90568
      	* config/i386/x86-tune-sched.c (ix86_macro_funsion_pair_p): Call
      	gen_attr_type just once instead of 4-7 times.  Formatting fixes.
      	Handle stack_protect_test_<mode> codegen similarly to corresponding
      	sub instruction.
      
      From-SVN: r271596
      Jakub Jelinek committed
    • re PR tree-optimization/88440 (size optimization of memcpy-like code) · 1d672917
      2019-05-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88440
      	* opts.c (default_options_table): Enable -ftree-loop-distribute-patterns
      	at -O[2s]+.
      	* tree-loop-distribution.c (generate_memset_builtin): Fold the
      	generated call.
      	(generate_memcpy_builtin): Likewise.
      	(distribute_loop): Pass in whether to only distribute patterns.
      	(prepare_perfect_loop_nest): Also allow size optimization.
      	(pass_loop_distribution::execute): When optimizing a loop
      	nest for size allow pattern replacement.
      
      	* gcc.dg/tree-ssa/ldist-37.c: New testcase.
      	* gcc.dg/tree-ssa/ldist-38.c: Likewise.
      	* gcc.dg/vect/vect.exp: Add -fno-tree-loop-distribute-patterns.
      	* gcc.dg/tree-ssa/ldist-37.c: Adjust.
      	* gcc.dg/tree-ssa/ldist-38.c: Likewise.
      	* g++.dg/tree-ssa/pr78847.C: Likewise.
      	* gcc.dg/autopar/pr39500-1.c: Likewise.
      	* gcc.dg/autopar/reduc-1char.c: Likewise.
      	* gcc.dg/autopar/reduc-7.c: Likewise.
      	* gcc.dg/tree-ssa/ivopts-lt-2.c: Likewise.
      	* gcc.dg/tree-ssa/ivopts-lt.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-1.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-2.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-3.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-4.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-7.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-8.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-9.c: Likewise.
      	* gcc.dg/tree-ssa/scev-11.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Likewise.
      	* gcc.target/i386/pr30970.c: Likewise.
      	* gcc.target/i386/vect-double-1.c: Likewise.
      	* gcc.target/i386/vect-double-2.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-28.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
      	* gfortran.dg/vect/vect-5.f90: Likewise.
      	* gfortran.dg/vect/vect-8.f90: Likewise.
      
      From-SVN: r271595
      Richard Biener committed
    • add missed Changelog. · 9453b779
      From-SVN: r271592
      Iain Sandoe committed
    • Darwin, x86, testsuite - Make match strings more specific. · 66885312
      Some of the i386.exp tests fail on Darwin (and at least one passes
      incorrectly on Linux) because their scan-asm match strings are too
      general.  In some cases the strings also match instances in the .file
      and size directives or in comment output.  This patch makes the match
      strings more specific.
      
      2019-05-24  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/pconfig-1.c: Scan for the string in the generated
      	code, not in comments or miscellaneous directives. Adjust expected
      	count.
      	* gcc.target/i386/pr18041-1.c: Likewise.
      	* gcc.target/i386/pr18041-2.c: Likewise.
      	* gcc.target/i386/wbinvd-1.c: Likewise.
      	* gcc.target/i386/wbnoinvd-1.c: Likewise.
      	* gcc.target/i386/pr66819-3.c: Specifically, check that there is no
      	call to "bar".
      	* gcc.target/i386/pr66819-4.c: Likewise.
      	* gcc.target/i386/pr82662.c
      	* gcc.target/i386/ptwrite2.c: Make the checks look for the specific
      	destination register, don't try the m32 test on m64 targets.
      
      From-SVN: r271591
      Iain Sandoe committed
    • Darwin, x86, testsuite - Adjust test labels. · 4ef1d2e2
      A couple of the i386.exp tests fail because the label spelling used
      is different between ELF and Mach-O targets. Adjusted here.
      
      2019-05-24  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/pr67985-2.c: Adjust label checks for
      	Darwin.
      	* gcc.target/i386/pr77881.c: Likewise.
      
      From-SVN: r271590
      Iain Sandoe committed
    • Darwin, x86, testsuite - Disable tests that cannot pass. · 3d61c31f
      A few of the i386.exp target tests cannot pass on Darwin
      because either the port doesn't support a feature, or the
      ABI demands sufficiently different codegen that matching
      the output with scan-asms would require a different test.
      
      Disabling those tests here.
      
      2019-05-24  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/falign-functions-2.c: Skip for Darwin.
      	* gcc.target/i386/pr70738-7.c: Likewise.
      	* gcc.target/i386/pr24414.c: Likewise.
      
      From-SVN: r271589
      Iain Sandoe committed
    • Daily bump. · a2c8ea56
      From-SVN: r271588
      GCC Administrator committed
  4. 23 May, 2019 7 commits
    • Fix testsuite bugs · 5f303216
      One of the static assertions in 20_util/function_objects/invoke/1.cc was
      wrong, but didn't fail because by default it was compiled with
      -std=gnu++14 which didn't use that static assertion. Split out the C++17
      parts to a new file that always runs with -std=gnu++17, so those checks
      are always done.
      
      The 23_containers/unordered_set/allocator/ext_ptr.cc test is supposed to
      be a run-time test but was unintentionally compile-only.
      
      	* testsuite/20_util/function_objects/invoke/1.cc: Move C++17-specific
      	tests to ...
      	* testsuite/20_util/function_objects/invoke/3.cc: New test.
      	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
      	"compile" test to "run".
      
      From-SVN: r271584
      Jonathan Wakely committed
    • LWG 2996 add rvalue overloads for shared_ptr aliasing and casting · fb3fc4bd
      	* doc/xml/manual/intro.xml: Document LWG DR 2996 change.
      	* doc/html/*: Regenerate.
      	* include/bits/shared_ptr.h (shared_ptr(shared_ptr&&, T*)): Add
      	rvalue aliasing constructor.
      	(static_pointer_cast, const_pointer, dynamic_pointer_cast)
      	(reinterpret_pointer_cast): Add overloads taking rvalues.
      	* include/bits/shared_ptr_base.h (__shared_ptr(__shared_ptr&&, T*)):
      	Add rvalue aliasing constructor.
      	* testsuite/20_util/shared_ptr/casts/1.cc: Change "compile" test to
      	"run" and check return values as well as types.
      	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
      	* testsuite/20_util/shared_ptr/casts/rval.cc: New test.
      	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: New test.
      	* testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused return
      	values.
      
      From-SVN: r271583
      Jonathan Wakely committed
    • LWG 2921 remove packaged_task constructors taking allocators · 9a0af7e3
      	* doc/xml/manual/evolution.xml: Document LWG DR 2921 change.
      	* doc/xml/manual/intro.xml: Likewise.
      	* include/std/future (__create_task_state): Add default arguments
      	to make providing an allocator optional.
      	(packaged_task::packaged_task(F&&)): Call __create_task_state directly
      	instead of delegating to another constructor.
      	(packaged_task::packaged_task(allocator_arg_t, const A&, ...)): Do not
      	define allocator-extended constructors for C++17 and later.
      	* testsuite/30_threads/packaged_task/cons/alloc.cc: Only run test for
      	C++11 and C++14.
      	* testsuite/30_threads/packaged_task/cons/alloc2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/alloc_min.cc: Likewise.
      	* testsuite/30_threads/packaged_task/uses_allocator.cc: Likewise.
      
      From-SVN: r271582
      Jonathan Wakely committed
    • darwin, x86 - disable '-mfentry' for the port. · aa992ce7
      This can't work without special support because placing
      the call directly after the function label breaks the
      ABI requirement that call sites are 16byte aligned.
      
      gcc/
      
      2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
      
             * config/i386/darwin.h: Reject -mfentry*.
             * doc/sourcebuild.texi: Document mfentry target support.
      
      gcc/testsuite/
      
      2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
      
             * lib/target-supports.exp (check_effective_target_mfentry): New.
             * gcc.target/i386/fentry-override.c: Require effective target mfentry.
             * gcc/testsuite/gcc.target/i386/fentry.c: Likewise
             * gcc.target/i386/fentryname1.c: Likewise
             * gcc.target/i386/fentryname2.c: Likewise
             * gcc.target/i386/fentryname3.c: Likewise
             * gcc.target/i386/nop-mcount.c: Likewise
             * gcc.target/i386/pr82699-2.c: Likewise
             * gcc.target/i386/pr82699-4.c: Likewise
             * gcc.target/i386/pr82699-5.c: Likewise
             * gcc.target/i386/pr82699-6.c: Likewise
             * gcc.target/i386/returninst1.c: Likewise
             * gcc.target/i386/returninst2.c: Likewise
             * gcc.target/i386/returninst3.c : Likewise
      
      From-SVN: r271580
      Iain Sandoe committed
    • rs6000.c (rs6000_global_entry_point_needed_p): Rename to… · 99f84323
      rs6000.c (rs6000_global_entry_point_needed_p): Rename to rs6000_global_entry_point_prologue_needed_p.
      
      [gcc]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p):
      	Rename to rs6000_global_entry_point_prologue_needed_p.  Return
      	false for PC-relative functions.
      	(rs6000_output_function_prologue): Change called function name to
      	rs6000_global_entry_point_prologue_needed_p.  Emit ".localentry
      	name,1" for PC-relative functions.
      	(rs6000_elf_declare_function_name): Change called function name to
      	rs6000_global_entry_point_prologue_needed_p.
      
      [gcc/testsuite]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* gcc.target/powerpc/localentry-1.c: New file.
      
      From-SVN: r271577
      Bill Schmidt committed
    • re PR target/90552 (attribute((optimize(3))) not overriding -Os) · 103d91c7
      	PR target/90552
      	* config/i386/i386.c (gen_rtx_cost):
      	Use ix86_tune_cost instead of ix86_cost.
      
      testsuite/ChangeLog:
      
      	PR target/90552
      	* gcc.target/i386/pr90552.c: New test.
      
      From-SVN: r271576
      Uros Bizjak committed
    • rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Add OPTION_MASK_PCREL. · 91117603
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      	    Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Add
      	OPTION_MASK_PCREL.
      	(POWERPC_MASKS): Add OPTION_MASK_PCREL.
      	* config/rs6000/rs6000-protos.h (rs6000_pcrel_p): New prototype.
      	(rs6000_fndecl_pcrel_p): Likewise.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Report
      	error if -mpcrel is requested without -mcpu=future.
      	(rs6000_opt_masks): Add entry for pcrel.
      	(rs6000_fndecl_pcrel_p): New function.
      	(rs6000_pcrel_p): Likewise.
      	* config/rs6000/rs6000.opt (mpcrel): New option.
      	* doc/invoke.texi: Document -mpcrel and -mno-pcrel.
      
      
      Co-Authored-By: Michael Meissner <meissner@linux.ibm.com>
      Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
      
      From-SVN: r271575
      Bill Schmidt committed