1. 25 Mar, 2019 6 commits
  2. 24 Mar, 2019 8 commits
  3. 23 Mar, 2019 5 commits
  4. 22 Mar, 2019 14 commits
    • * gcc.pot: Regenerate. · 62a6133f
      From-SVN: r269882
      Joseph Myers committed
    • Remove broken links from libstdc++ manual to Doxygen pages · fb5550a0
      The Doxygen docs do not have stable URLs, so linking to specific pages
      doesn't work well.
      
      	* doc/xml/manual/backwards_compatibility.xml: Remove link to
      	Doxygen-generated pages with unstable URL.
      	* doc/xml/manual/concurrency_extensions.xml: Likewise.
      	* doc/xml/manual/extensions.xml: Likewise.
      	* doc/xml/manual/parallel_mode.xml: Likewise.
      	* doc/xml/manual/support.xml: Likewise.
      
      From-SVN: r269881
      Jonathan Wakely committed
    • re PR rtl-optimization/87761 ([MIPS] New FAIL: gcc.target/mips/fix-r4000-10.c … · 23843f47
      re PR rtl-optimization/87761 ([MIPS] New FAIL: gcc.target/mips/fix-r4000-10.c   -O1 start with r265398)
      
      	PR rtl-optimization/87761
      	* config/mips/mips-protos.h (mips_split_move): Add new argument.
      	(mips_emit_move_or_split): Pass NULL for INSN into mips_split_move.
      	(mips_split_move): Accept new INSN argument.  Try to forward SRC
      	into the next instruction.
      	(mips_split_move_insn): Pass INSN through to mips_split_move.
      
      From-SVN: r269880
      Jeff Law committed
    • re PR rtl-optimization/89676 (Redundant moves for long long shift on 32bit x86) · c07a0a22
      2019-03-22  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/89676
      	* lra-constraints.c (curr_insn_transform): Do match reload for
      	early clobbers even if the match was successful.
      
      2019-03-22  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/89676
      	* gcc.target/i386/pr89676.c: New.
      
      From-SVN: r269878
      Vladimir Makarov committed
    • Avoid -Wconversion warnings when -Wsystem-headers is used · eca5f925
      	* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
      	avoid -Wconversion warnings.
      
      From-SVN: r269876
      Jonathan Wakely committed
    • re PR c++/60702 (thread_local initialization) · 5c3703c5
      	PR c++/60702
      	* cp-tree.h (get_tls_wrapper_fn): Remove declaration.
      	(maybe_get_tls_wrapper_call): Declare.
      	* decl2.c (get_tls_wrapper_fn): Make static.
      	(maybe_get_tls_wrapper_call): New function.
      	* typeck.c (build_class_member_access_expr): Handle accesses to TLS
      	variables.
      	* semantics.c (finish_qualified_id_expr): Likewise.
      	(finish_id_expression_1): Use maybe_get_tls_wrapper_call.
      	* pt.c (tsubst_copy_and_build): Likewise.
      
      	* g++.dg/tls/thread_local11.C: New test.
      	* g++.dg/tls/thread_local11.h: New test.
      	* g++.dg/tls/thread_local12a.C: New test.
      	* g++.dg/tls/thread_local12b.C: New test.
      	* g++.dg/tls/thread_local12c.C: New test.
      	* g++.dg/tls/thread_local12d.C: New test.
      	* g++.dg/tls/thread_local12e.C: New test.
      	* g++.dg/tls/thread_local12f.C: New test.
      	* g++.dg/tls/thread_local12g.C: New test.
      	* g++.dg/tls/thread_local12h.C: New test.
      	* g++.dg/tls/thread_local12i.C: New test.
      	* g++.dg/tls/thread_local12j.C: New test.
      	* g++.dg/tls/thread_local12k.C: New test.
      	* g++.dg/tls/thread_local12l.C: New test.
      
      From-SVN: r269875
      Jakub Jelinek committed
    • re PR c++/87481 (Endless loop with optimisation in C++17) · a15ffa22
      	PR c++/87481
      	* doc/invoke.texi (-fconstexpr-ops-limit=): Document.
      
      	* c.opt (-fconstexpr-ops-limit=): New option.
      
      	* constexpr.c (struct constexpr_ctx): Add constexpr_ops_count member.
      	(cxx_eval_constant_expression): When not skipping, not constant class
      	or location wrapper, increment *ctx->constexpr_ops_count and if it is
      	above constexpr_loop_nest_limit, diagnose failure.
      	(cxx_eval_outermost_constant_expr): Add constexpr_ops_count and
      	initialize ctx.constexpr_ops_count to its address.
      	(is_sub_constant_expr): Likewise.
      
      	* g++.dg/cpp1y/constexpr-87481.C: New test.
      
      From-SVN: r269874
      Jakub Jelinek committed
    • [Ada] GNAT.Sockets: fix recent regressions · 29e0246c
      The support for IPv6 that was added since last release triggered
      regressions on various platforms. The size of structures passed to low
      level routines was not correct anymore: it should depend on the address
      family, now.
      
      2019-03-22  Dmitriy Anisimkov  <anisimko@adacore.com>
      
      gcc/ada/
      
      	PR ada/89583
      	* libgnat/g-socket.adb (Bind_Socket, Connect_Socket,
      	Send_Socket): Fix the computation of structure lengths passed to
      	low level routines.
      	(Is_IPv6_Address): Fix the number of expected colons.
      
      2019-03-22  Simon Wright  <simon@pushface.org>
      
      gcc/testsuite/
      
      	PR ada/89583
      	* gnat.dg/socket2.adb: New.
      
      From-SVN: r269873
      Pierre-Marie de Rodat committed
    • mmintrin.h (_mm_sub_pi32): Fix typo. · b6c5f9f3
      [gcc]
      
      2019-03-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* config/rs6000/mmintrin.h (_mm_sub_pi32): Fix typo.
      
      [gcc/testsuite]
      
      2019-03-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* gcc.target/powerpc/mmx-psubd-2.c: Test _m_psubd.
      
      From-SVN: r269871
      Bill Schmidt committed
    • * config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>, · bfdc651a
      	<avx512>_fmsub_<mode>_mask3<round_name>,
      	<avx512>_fnmadd_<mode>_mask3<round_name>,
      	<avx512>_fnmsub_<mode>_mask3<round_name>,
      	avx512f_vmfmadd_<mode>_mask3<round_name>,
      	avx512f_vmfmsub_<mode>_mask3<round_name>,
      	*avx512f_vmfnmadd_<mode>_mask3<round_name>): Use <round_nimm_predicate>
      	instead of register_operand and %v instead of v for match_operand 1.
      	(avx512f_vmfnmsub_<mode>_mask3<round_name>): Rename to ...
      	(*avx512f_vmfnmsub_<mode>_mask3<round_name>): ... this.  Use
      	<round_nimm_predicate> instead of register_operand and %v instead of v
      	for match_operand 1.
      
      From-SVN: r269870
      Jakub Jelinek committed
    • sse.md (<avx512>_fmadd_<mode>_mask<round_name>, [...]): Use… · ecf39236
      sse.md (<avx512>_fmadd_<mode>_mask<round_name>, [...]): Use <round_nimm_predicate> instead of nonimmediate_operand.
      
      	* config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>,
      	<avx512>_fmadd_<mode>_mask3<round_name>,
      	<avx512>_fmsub_<mode>_mask<round_name>,
      	<avx512>_fmsub_<mode>_mask3<round_name>,
      	<avx512>_fnmadd_<mode>_mask<round_name>,
      	<avx512>_fnmadd_<mode>_mask3<round_name>,
      	<avx512>_fnmsub_<mode>_mask<round_name>,
      	<avx512>_fnmsub_<mode>_mask3<round_name>,
      	<avx512>_fmaddsub_<mode>_mask<round_name>,
      	<avx512>_fmaddsub_<mode>_mask3<round_name>,
      	<avx512>_fmsubadd_<mode>_mask<round_name>,
      	<avx512>_fmsubadd_<mode>_mask3<round_name>): Use
      	<round_nimm_predicate> instead of nonimmediate_operand.
      	(fmai_vmfmadd_<mode><round_name>, fmai_vmfmsub_<mode><round_name>,
      	fmai_vmfnmadd_<mode><round_name>, fmai_vmfnmsub_<mode><round_name>):
      	Use register_operand instead of <round_nimm_predicate> for the
      	operand that needs to match output.
      	(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>,
      	*fmai_fnmadd_<mode><round_name>, *fmai_fnmsub_<mode><round_name>):
      	Likewise.  Formatting fixes.
      
      From-SVN: r269869
      Jakub Jelinek committed
    • re PR target/89784 (Missing AVX512 intrinsics) · 5c4ade6d
      	PR target/89784
      	* config/i386/i386.c (enum ix86_builtins): Remove
      	IX86_BUILTIN_VFMSUBSD3_MASK3 and IX86_BUILTIN_VFMSUBSS3_MASK3.
      	* config/i386/i386-builtin.def (__builtin_ia32_vfmaddsd3_mask,
      	__builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
      	__builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
      	__builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
      	__builtin_ia32_vfmsubss3_mask3): New builtins.
      	* config/i386/sse.md (avx512f_vmfmadd_<mode>_mask<round_name>,
      	avx512f_vmfmadd_<mode>_mask3<round_name>,
      	avx512f_vmfmadd_<mode>_maskz_1<round_name>,
      	*avx512f_vmfmsub_<mode>_mask<round_name>,
      	avx512f_vmfmsub_<mode>_mask3<round_name>,
      	*avx512f_vmfmasub_<mode>_maskz_1<round_name>,
      	*avx512f_vmfnmadd_<mode>_mask<round_name>,
      	*avx512f_vmfnmadd_<mode>_mask3<round_name>,
      	*avx512f_vmfnmadd_<mode>_maskz_1<round_name>,
      	*avx512f_vmfnmsub_<mode>_mask<round_name>,
      	*avx512f_vmfnmsub_<mode>_mask3<round_name>,
      	*avx512f_vmfnmasub_<mode>_maskz_1<round_name>): New define_insns.
      	(avx512f_vmfmadd_<mode>_maskz<round_expand_name>): New define_expand.
      	* config/i386/avx512fintrin.h (_mm_mask_fmadd_sd, _mm_mask_fmadd_ss,
      	_mm_mask3_fmadd_sd, _mm_mask3_fmadd_ss, _mm_maskz_fmadd_sd,
      	_mm_maskz_fmadd_ss, _mm_mask_fmsub_sd, _mm_mask_fmsub_ss,
      	_mm_mask3_fmsub_sd, _mm_mask3_fmsub_ss, _mm_maskz_fmsub_sd,
      	_mm_maskz_fmsub_ss, _mm_mask_fnmadd_sd, _mm_mask_fnmadd_ss,
      	_mm_mask3_fnmadd_sd, _mm_mask3_fnmadd_ss, _mm_maskz_fnmadd_sd,
      	_mm_maskz_fnmadd_ss, _mm_mask_fnmsub_sd, _mm_mask_fnmsub_ss,
      	_mm_mask3_fnmsub_sd, _mm_mask3_fnmsub_ss, _mm_maskz_fnmsub_sd,
      	_mm_maskz_fnmsub_ss, _mm_mask_fmadd_round_sd, _mm_mask_fmadd_round_ss,
      	_mm_mask3_fmadd_round_sd, _mm_mask3_fmadd_round_ss,
      	_mm_maskz_fmadd_round_sd, _mm_maskz_fmadd_round_ss,
      	_mm_mask_fmsub_round_sd, _mm_mask_fmsub_round_ss,
      	_mm_mask3_fmsub_round_sd, _mm_mask3_fmsub_round_ss,
      	_mm_maskz_fmsub_round_sd, _mm_maskz_fmsub_round_ss,
      	_mm_mask_fnmadd_round_sd, _mm_mask_fnmadd_round_ss,
      	_mm_mask3_fnmadd_round_sd, _mm_mask3_fnmadd_round_ss,
      	_mm_maskz_fnmadd_round_sd, _mm_maskz_fnmadd_round_ss,
      	_mm_mask_fnmsub_round_sd, _mm_mask_fnmsub_round_ss,
      	_mm_mask3_fnmsub_round_sd, _mm_mask3_fnmsub_round_ss,
      	_mm_maskz_fnmsub_round_sd, _mm_maskz_fnmsub_round_ss): New intrinsics.
      
      	* gcc.target/i386/sse-13.c (__builtin_ia32_vfmaddsd3_mask,
      	__builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
      	__builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
      	__builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
      	__builtin_ia32_vfmsubss3_mask3): Define.
      	* gcc.target/i386/sse-23.c (__builtin_ia32_vfmaddsd3_mask,
      	__builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
      	__builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
      	__builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
      	__builtin_ia32_vfmsubss3_mask3): Define.
      	* gcc.target/i386/avx-1.c (__builtin_ia32_vfmaddsd3_mask,
      	__builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
      	__builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
      	__builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
      	__builtin_ia32_vfmsubss3_mask3): Define.
      	* gcc.target/i386/sse-14.c: Add tests for
      	_mm_mask{,3,z}_f{,n}m{add,sub}_round_s{s,d} builtins.
      	* gcc.target/i386/sse-22.c: Likewise.
      
      2019-03-22  Hongtao Liu  <hongtao.liu@intel.com>
      
      	* gcc.target/i386/avx512f-vfmaddXXXsd-1.c (avx512f_test): Add tests
      	for _mm_mask{,3,z}_*.
      	* gcc.target/i386/avx512f-vfmaddXXXss-1.c (avx512f_test): Likewise.
      	* gcc.target/i386/avx512f-vfmsubXXXsd-1.c (avx512f_test): Likewise.
      	* gcc.target/i386/avx512f-vfmsubXXXss-1.c (avx512f_test): Likewise.
      	* gcc.target/i386/avx512f-vfnmaddXXXsd-1.c (avx512f_test): Likewise.
      	* gcc.target/i386/avx512f-vfnmaddXXXss-1.c (avx512f_test): Likewise.
      	* gcc.target/i386/avx512f-vfnmsubXXXsd-1.c (avx512f_test): Likewise.
      	* gcc.target/i386/avx512f-vfnmsubXXXss-1.c (avx512f_test): Likewise.
      	* gcc.target/i386/avx512f-vfmaddXXXsd-2.c: New test.
      	* gcc.target/i386/avx512f-vfmaddXXXss-2.c: New test.
      	* gcc.target/i386/avx512f-vfmsubXXXsd-2.c: New test.
      	* gcc.target/i386/avx512f-vfmsubXXXss-2.c: New test.
      	* gcc.target/i386/avx512f-vfnmaddXXXsd-2.c: New test.
      	* gcc.target/i386/avx512f-vfnmaddXXXss-2.c: New test.
      	* gcc.target/i386/avx512f-vfnmsubXXXsd-2.c: New test.
      	* gcc.target/i386/avx512f-vfnmsubXXXss-2.c: New test.
      
      From-SVN: r269868
      Jakub Jelinek committed
    • PR tree-optimization/89350 - Wrong -Wstringop-overflow= warning since r261518 · a411ae9b
      gcc/ChangeLog:
      
      	PR tree-optimization/89350
      	* builtins.c (compute_objsize): Also ignore offsets whose upper
      	bound is negative.
      	* gimple-ssa-warn-restrict.c (builtin_memref): Add new member.
      	(builtin_memref::builtin_memref): Initialize new member.
      	Allow EXPR to be null.
      	(builtin_memref::extend_offset_range): Replace local with a member.
      	Avoid assuming pointer offsets are unsigned.
      	(builtin_memref::set_base_and_offset): Determine base object
      	before computing offset range.
      	(builtin_access::builtin_access): Handle memset.
      	(builtin_access::generic_overlap): Replace local with a member.
      	(builtin_access::strcat_overlap): Same.
      	(builtin_access::overlap): Same.
      	(maybe_diag_overlap): Same.
      	(maybe_diag_access_bounds): Same.
      	(wrestrict_dom_walker::check_call): Handle memset.
      	(check_bounds_or_overlap): Same.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/89350
      	* gcc.dg/Wstringop-overflow.c: Xfail overly ambitious tests.
      	* gcc.dg/Wstringop-overflow-11.c: New test.
      	* gcc.dg/Wstringop-overflow-12.c: New test.
      	* gcc.dg/pr89350.c: New test.
      	* gcc.dg/pr40340-1.c: Adjust expected warning.
      	* gcc.dg/pr40340-2.c: Same.
      	* gcc.dg/pr40340-4.c: Same.
      	* gcc.dg/pr40340-5.c: Same.
      
      From-SVN: r269867
      Martin Sebor committed
    • Daily bump. · 11bf9a07
      From-SVN: r269866
      GCC Administrator committed
  5. 21 Mar, 2019 7 commits
    • Integrate C++17 parallel algorithms · 061f4578
      This is the Intel implementation of the C++17 parallel
      algorithms, which has been donated to both GCC and LLVM. The upstream
      project is at -
      
      	https://reviews.llvm.org/source/pstl/
      
      The new files in the include/pstl sub-directory are covered by the
      LICENSE.txt in that sub-directory, as are the tests in
      testsuite/**/pstl/*
      
      	* include/Makefile.am (std_header): Add ${std_srcdir}/execution.
      	(pstl_srcdir, pstl_builddir, pstl_headers): New variables.
      	(allstamped): Add stamp-pstl.
      	(install-headers): Add ptsl_builddir.
      	* include/Makefile.in: Regenerate.
      	* include/bits/c++config: Add pstl configuration.
      	* include/pstl/LICENSE.txt: New file.
      	* include/pstl/algorithm_fwd.h: New file.
      	* include/pstl/algorithm_impl.h: New file.
      	* include/pstl/execution_defs.h: New file.
      	* include/pstl/execution_impl.h: New file.
      	* include/pstl/glue_algorithm_defs.h: New file.
      	* include/pstl/glue_algorithm_impl.h: New file.
      	* include/pstl/glue_execution_defs.h: New file.
      	* include/pstl/glue_memory_defs.h: New file.
      	* include/pstl/glue_memory_impl.h: New file.
      	* include/pstl/glue_numeric_defs.h: New file.
      	* include/pstl/glue_numeric_impl.h: New file.
      	* include/pstl/memory_impl.h: New file.
      	* include/pstl/numeric_fwd.h: New file.
      	* include/pstl/numeric_impl.h: New file.
      	* include/pstl/parallel_backend.h: New file.
      	* include/pstl/parallel_backend_tbb.h: New file.
      	* include/pstl/parallel_backend_utils.h: New file.
      	* include/pstl/parallel_impl.h: New file.
      	* include/pstl/pstl_config.h: New file.
      	* include/pstl/unseq_backend_simd.h: New file.
      	* include/pstl/utils.h: New file.
      	* include/std/algorithm: Include parallel algorithm implementations.
      	* include/std/execution: New file.
      	* include/std/memory: Include parallel algorithm implementations.
      	* include/std/numeric: Include parallel algorithm implementations.
      	* include/std/version: Add parallel algorithms feature test macro.
      	* testsuite/util/pstl/pstl_test_config.h: New file.
      	* testsuite/util/pstl/test_utils.h: New file.
      	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file.
      	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file.
      	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file.
      	* testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file.
      	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file.
      	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file.
      	* testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file.
      	* testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file.
      	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file.
      	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file.
      	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file.
      	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file.
      	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file.
      	* testsuite/testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file.
      	* testsuite/testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file.
      	* testsuite/testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file.
      	* testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file.
      	* testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file.
      
      From-SVN: r269863
      Thomas Rodgers committed
    • re PR lto/89692 (ICE in streamer_write_chain, at tree-streamer-out.c:506) · 774856e3
      	PR lto/89692
      	* tree.c (fld_type_variant, fld_incomplete_type_of,
      	fld_process_array_type): Call fld->pset.add and don't call
      	add_tree_to_fld_list if it returns true.
      	(free_lang_data_in_type): Similarly with self-recursive call.  Purge
      	non-marked types from TYPE_NEXT_VARIANT list.
      	(find_decls_types_r): Call fld_worklist_push for TYPE_CANONICAL (t).
      
      	* g++.dg/other/pr89692.C: New test.
      
      From-SVN: r269862
      Jan Hubicka committed
    • re PR c++/71446 (Incorrect overload resolution when using designated initializers) · 8c8b42cf
      	PR c++/71446
      	* call.c (filed_in_pset): Change pset from hash_set<tree> * to
      	hash_set<tree, true> &, adjust uses accordingly.
      	(build_aggr_conv): Change pset from hash_set<tree> *
      	to hash_set<tree, true>.  Replace goto fail; with return NULL;,
      	adjust pset uses.
      
      From-SVN: r269861
      Jakub Jelinek committed
    • re PR c++/89767 (ICE with tuple and optimization) · 152d47df
      	PR c++/89767
      	* parser.c (cp_parser_lambda_introducer): Add ids and first_capture_id
      	variables, check for duplicates in this function.
      	* lambda.c (add_capture): Don't check for duplicates nor use
      	IDENTIFIER_MARKED.
      	(register_capture_members): Don't clear IDENTIFIER_MARKED here.
      
      	* g++.dg/cpp1y/lambda-init18.C: New test.
      	* g++.dg/cpp1y/lambda-init19.C: New test.
      	* g++.dg/cpp1y/pr89767.C: New test.
      
      From-SVN: r269860
      Jakub Jelinek committed
    • hash-table.h (hash_table): Add Lazy template parameter defaulted to false... · 36a3a7a3
      	* hash-table.h (hash_table): Add Lazy template parameter defaulted
      	to false, if true, don't alloc_entries during construction, but defer
      	it to the first method that needs m_entries allocated.
      	(hash_table::hash_table, hash_table::~hash_table,
      	hash_table::alloc_entries, hash_table::find_empty_slot_for_expand,
      	hash_table::too_empty_p, hash_table::expand, hash_table::empty_slow,
      	hash_table::clear_slot, hash_table::traverse_noresize,
      	hash_table::traverse, hash_table::iterator::slide): Adjust all methods.
      	* hash-set.h (hash_set): Add Lazy template parameter defaulted to
      	false.
      	(hash_set::contains): If Lazy is true, use find_slot_with_hash with
      	NO_INSERT instead of find_with_hash.
      	(hash_set::traverse, hash_set::iterator, hash_set::iterator::m_iter,
      	hash_set::m_table): Add Lazy to template params of hash_table.
      	(gt_ggc_mx, gt_pch_nx): Use false as Lazy in hash_set template param.
      	* attribs.c (test_attribute_exclusions): Likewise.
      	* hash-set-tests.c (test_set_of_strings): Add iterator tests for
      	hash_set.  Add tests for hash_set with Lazy = true.
      c-family/
      	* c-common.c (per_file_includes_t): Use false as Lazy in hash_set
      	template param.
      jit/
      	* jit-recording.c (reproducer::m_set_identifiers): Use false as Lazy
      	in hash_set template param.
      
      From-SVN: r269859
      Jakub Jelinek committed
    • [PR72741] Properly handle clauses specifying the level of parallelism for… · 2e4182ae
      [PR72741] Properly handle clauses specifying the level of parallelism for 'external' Fortran OpenACC routines
      
      ..., so as to also for these enable the generic middle end OMP code to verify
      proper nesting of loops/routines regarding their levels of parallelism.
      
      	gcc/fortran/
      	PR fortran/72741
      	* openmp.c (gfc_match_oacc_routine): Set the level of parallelism
      	for all variants.
      	(gfc_resolve_oacc_routines): Call gfc_add_omp_declare_target.
      	gcc/testsuite/
      	PR fortran/72741
      	* c-c++-common/goacc/routine-3-extern.c: New file.
      	* c-c++-common/goacc/routine-3.c: Adjust.
      	* c-c++-common/goacc/routine-4-extern.c: New file.
      	* c-c++-common/goacc/routine-4.c: Adjust.
      	* gfortran.dg/goacc/routine-module-3.f90: New file.
      	* gfortran.dg/goacc/routine-external-level-of-parallelism-1.f: New
      	file.
      	* gfortran.dg/goacc/routine-external-level-of-parallelism-2.f:
      	Likewise.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      
      From-SVN: r269858
      Thomas Schwinge committed
    • [PR89773] Fortran OpenACC 'routine' directive refuses procedures with implicit EXTERNAL attribute · f6bf4bc1
      	gcc/fortran/
      	PR fortran/89773
      	* gfortran.h (gfc_oacc_routine_name): Add loc member.
      	(gfc_resolve_oacc_routines): Declare.
      	* openmp.c (gfc_match_oacc_routine): Move some error checking
      	into...
      	(gfc_resolve_oacc_routines): ... this new function.
      	* resolve.c (resolve_codes): Call it.
      	gcc/testsuite/
      	PR fortran/89773
      	* gfortran.dg/goacc/pr89773.f90: New file.
      	* gfortran.dg/goacc/pr77765.f90: Adjust.
      	* gfortran.dg/goacc/routine-6.f90: Adjust, and extend.
      
      From-SVN: r269857
      Thomas Schwinge committed