From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1851) id 903433999001; Thu, 5 Aug 2021 17:50:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 903433999001 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Martin Liska To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc/devel/sphinx] Merge branch 'master' into devel/sphinx X-Act-Checkin: gcc X-Git-Author: Martin Liska X-Git-Refname: refs/heads/devel/sphinx X-Git-Oldrev: fc45f824a020dff1ec2ea68cef1d23345fb7d447 X-Git-Newrev: f182597d273fe81ffae6dfece17fecadd01842f7 Message-Id: <20210805175048.903433999001@sourceware.org> Date: Thu, 5 Aug 2021 17:50:48 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2021 17:50:48 -0000 https://gcc.gnu.org/g:f182597d273fe81ffae6dfece17fecadd01842f7 commit f182597d273fe81ffae6dfece17fecadd01842f7 Merge: fc45f824a02 4739344d36e Author: Martin Liska Date: Thu Aug 5 19:50:30 2021 +0200 Merge branch 'master' into devel/sphinx Diff: gcc/ChangeLog | 305 ++++++++++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 1 + gcc/analyzer/ChangeLog | 42 ++ gcc/analyzer/analyzer.cc | 1 + gcc/analyzer/analyzer.h | 2 + gcc/analyzer/complexity.cc | 16 + gcc/analyzer/complexity.h | 1 + gcc/analyzer/engine.cc | 2 + gcc/analyzer/region-model-asm.cc | 303 ++++++++++ gcc/analyzer/region-model-manager.cc | 48 ++ gcc/analyzer/region-model.cc | 5 +- gcc/analyzer/region-model.h | 13 + gcc/analyzer/store.cc | 17 + gcc/analyzer/store.h | 1 + gcc/analyzer/svalue.cc | 89 +++ gcc/analyzer/svalue.h | 145 ++++- gcc/auto-profile.c | 13 +- gcc/cfgloop.c | 66 ++ gcc/cfgloop.h | 100 ++- gcc/config/aarch64/aarch64.c | 213 +++---- gcc/config/arm/arm-c.c | 1 + gcc/config/arm/arm-cpus.in | 1 + gcc/config/arm/arm.c | 190 +++--- gcc/config/i386/i386-expand.c | 6 +- gcc/config/i386/i386.c | 24 +- gcc/config/i386/i386.h | 26 +- gcc/config/i386/i386.md | 12 +- gcc/config/i386/ia32intrin.h | 14 +- gcc/config/i386/serializeintrin.h | 7 +- gcc/config/i386/sse.md | 150 +++++ gcc/config/i386/x86gprintrin.h | 11 + gcc/config/rs6000/constraints.md | 2 +- gcc/config/rs6000/smmintrin.h | 27 + gcc/config/rs6000/vsx.md | 2 +- gcc/config/s390/s390-modes.def | 11 +- gcc/config/s390/s390-protos.h | 2 + gcc/config/s390/s390.c | 188 ++++++ gcc/config/s390/s390.md | 3 - gcc/config/s390/vector.md | 242 ++++++-- gcc/config/s390/vx-builtins.md | 75 ++- gcc/cp/ChangeLog | 6 + gcc/cp/parser.c | 2 + gcc/doc/invoke.texi | 3 + gcc/doc/md.texi | 11 + gcc/dwarf2out.c | 11 + gcc/expr.c | 26 +- gcc/gcov-io.c | 4 +- gcc/gimple-range-path.h | 2 +- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/escape.cc | 117 +++- gcc/go/gofrontend/expressions.cc | 49 +- gcc/go/gofrontend/expressions.h | 75 +++ gcc/go/gofrontend/runtime.def | 8 +- gcc/go/gofrontend/statements.cc | 59 +- gcc/go/gofrontend/types.cc | 4 +- gcc/match.pd | 56 ++ gcc/rtlanal.c | 19 + gcc/rtlanal.h | 4 + gcc/testsuite/ChangeLog | 182 ++++++ gcc/testsuite/g++.dg/goacc/pr101759.C | 5 + gcc/testsuite/g++.dg/gomp/pr101759.C | 8 + gcc/testsuite/g++.dg/tree-prof/indir-call-prof.C | 4 +- gcc/testsuite/g++.dg/tree-prof/morefunc.C | 7 +- gcc/testsuite/g++.dg/tree-prof/reorder.C | 6 +- gcc/testsuite/g++.dg/tree-ssa/pr101769.C | 56 ++ gcc/testsuite/g++.dg/vect/pr99149.cc | 2 +- gcc/testsuite/g++.dg/warn/Wstringop-overflow-4.C | 7 +- gcc/testsuite/g++.old-deja/g++.other/inline7.C | 2 +- .../gcc.c-torture/execute/ieee/pr29302-1.x | 6 - gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c | 69 +++ gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c | 131 ++++ gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-2.c | 34 ++ gcc/testsuite/gcc.dg/analyzer/pr101570.c | 5 + .../asm-x86-linux-array_index_mask_nospec.c | 74 +++ .../torture/asm-x86-linux-cpuid-paravirt-1.c | 81 +++ .../torture/asm-x86-linux-cpuid-paravirt-2.c | 135 +++++ .../gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c | 46 ++ .../torture/asm-x86-linux-rdmsr-paravirt.c | 210 +++++++ .../gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c | 33 + .../asm-x86-linux-wfx_get_ps_timeout-full.c | 319 ++++++++++ .../asm-x86-linux-wfx_get_ps_timeout-reduced.c | 77 +++ gcc/testsuite/gcc.dg/fold-ior-4.c | 61 ++ gcc/testsuite/gcc.dg/sso-15.c | 36 ++ gcc/testsuite/gcc.dg/tree-prof/indir-call-prof-2.c | 8 +- gcc/testsuite/gcc.dg/tree-prof/indir-call-prof.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pr101756.c | 17 + .../gcc.target/aarch64/sve/cost_model_12.c | 19 + gcc/testsuite/gcc.target/aarch64/vaddX_high_cost.c | 38 ++ .../gcc.target/aarch64/vmul_element_cost.c | 94 +++ gcc/testsuite/gcc.target/aarch64/vmul_high_cost.c | 85 +++ gcc/testsuite/gcc.target/aarch64/vsubX_high_cost.c | 38 ++ gcc/testsuite/gcc.target/arm/attr-neon.c | 9 +- gcc/testsuite/gcc.target/arm/attr-neon2.c | 35 +- gcc/testsuite/gcc.target/arm/attr-neon3.c | 48 +- .../gcc.target/arm/cortex-m55-nofp-flag-hard.c | 2 +- .../gcc.target/arm/cortex-m55-nofp-flag-softfp.c | 2 +- .../arm/cortex-m55-nofp-nomve-flag-softfp.c | 2 +- .../gcc.target/arm/mve/intrinsics/mve_fpu1.c | 5 +- .../gcc.target/arm/mve/intrinsics/mve_fpu2.c | 5 +- gcc/testsuite/gcc.target/arm/pr69245.c | 6 +- gcc/testsuite/gcc.target/arm/pr98636.c | 3 +- .../gcc.target/arm/pragma_fpu_attribute.c | 7 +- .../gcc.target/arm/pragma_fpu_attribute_2.c | 7 +- gcc/testsuite/gcc.target/i386/avx-vzeroupper-14.c | 2 +- gcc/testsuite/gcc.target/i386/avx-vzeroupper-15.c | 2 +- .../gcc.target/i386/cond_op_addsubmul_d-2.c | 2 + .../gcc.target/i386/cond_op_addsubmul_q-2.c | 2 + .../gcc.target/i386/cond_op_addsubmul_w-2.c | 2 + .../i386/cond_op_addsubmuldiv_double-2.c | 1 + .../gcc.target/i386/cond_op_addsubmuldiv_float-2.c | 1 + .../gcc.target/i386/cond_op_anylogic_d-1.c | 38 ++ .../gcc.target/i386/cond_op_anylogic_d-2.c | 78 +++ .../gcc.target/i386/cond_op_anylogic_q-1.c | 10 + .../gcc.target/i386/cond_op_anylogic_q-2.c | 5 + .../gcc.target/i386/cond_op_fma_double-1.c | 87 +++ .../gcc.target/i386/cond_op_fma_double-2.c | 208 +++++++ .../gcc.target/i386/cond_op_fma_float-1.c | 20 + .../gcc.target/i386/cond_op_fma_float-2.c | 5 + gcc/testsuite/gcc.target/i386/cond_op_maxmin_b-1.c | 8 + gcc/testsuite/gcc.target/i386/cond_op_maxmin_b-2.c | 6 + gcc/testsuite/gcc.target/i386/cond_op_maxmin_d-1.c | 41 ++ gcc/testsuite/gcc.target/i386/cond_op_maxmin_d-2.c | 67 ++ .../gcc.target/i386/cond_op_maxmin_double-1.c | 39 ++ .../gcc.target/i386/cond_op_maxmin_double-2.c | 67 ++ .../gcc.target/i386/cond_op_maxmin_float-1.c | 8 + .../gcc.target/i386/cond_op_maxmin_float-2.c | 5 + gcc/testsuite/gcc.target/i386/cond_op_maxmin_q-1.c | 8 + gcc/testsuite/gcc.target/i386/cond_op_maxmin_q-2.c | 5 + .../gcc.target/i386/cond_op_maxmin_ub-1.c | 8 + .../gcc.target/i386/cond_op_maxmin_ub-2.c | 6 + .../gcc.target/i386/cond_op_maxmin_ud-1.c | 8 + .../gcc.target/i386/cond_op_maxmin_ud-2.c | 5 + .../gcc.target/i386/cond_op_maxmin_uq-1.c | 8 + .../gcc.target/i386/cond_op_maxmin_uq-2.c | 5 + .../gcc.target/i386/cond_op_maxmin_uw-1.c | 8 + .../gcc.target/i386/cond_op_maxmin_uw-2.c | 6 + gcc/testsuite/gcc.target/i386/cond_op_maxmin_w-1.c | 8 + gcc/testsuite/gcc.target/i386/cond_op_maxmin_w-2.c | 6 + gcc/testsuite/gcc.target/i386/eh_return-2.c | 16 + gcc/testsuite/gcc.target/i386/pr100865-10b.c | 1 + gcc/testsuite/gcc.target/i386/pr100865-11b.c | 2 +- gcc/testsuite/gcc.target/i386/pr100865-12b.c | 2 +- gcc/testsuite/gcc.target/i386/pr100865-4b.c | 2 + gcc/testsuite/gcc.target/i386/pr100865-6b.c | 5 +- gcc/testsuite/gcc.target/i386/pr100865-7b.c | 5 +- gcc/testsuite/gcc.target/i386/pr100865-8b.c | 2 +- gcc/testsuite/gcc.target/i386/pr100865-9b.c | 2 +- gcc/testsuite/gcc.target/i386/pr101742a.c | 16 + gcc/testsuite/gcc.target/i386/pr101742b.c | 4 + gcc/testsuite/gcc.target/i386/pr82941-1.c | 3 +- gcc/testsuite/gcc.target/i386/pr82942-1.c | 3 +- gcc/testsuite/gcc.target/i386/pr82990-1.c | 3 +- gcc/testsuite/gcc.target/i386/pr82990-3.c | 3 +- gcc/testsuite/gcc.target/i386/pr82990-5.c | 3 +- gcc/testsuite/gcc.target/i386/pr99744-3.c | 13 + gcc/testsuite/gcc.target/i386/pr99744-4.c | 357 +++++++++++ gcc/testsuite/gcc.target/i386/pr99744-5.c | 25 + gcc/testsuite/gcc.target/i386/pr99744-6.c | 23 + gcc/testsuite/gcc.target/i386/pr99744-7.c | 12 + gcc/testsuite/gcc.target/i386/pr99744-8.c | 13 + gcc/testsuite/gcc.target/i386/vect-gather-1.c | 20 + .../gcc.target/powerpc/sse4_1-phminposuw.c | 68 +++ .../vector/long-double-asm-in-out-hard-fp-reg.c | 8 +- .../vector/long-double-asm-inout-hard-fp-reg.c | 6 +- gcc/testsuite/gcc.target/s390/vector/perm-merge.c | 104 ++++ gcc/testsuite/gcc.target/s390/vector/perm-vpdi.c | 49 ++ gcc/testsuite/gcc.target/s390/vector/vec-types.h | 35 ++ gcc/testsuite/gcc.target/s390/zvector/vec-permi.c | 54 -- gcc/testsuite/gcc.target/s390/zvector/vec-types.h | 37 ++ gcc/testsuite/gcc.target/s390/zvector/vec_merge.c | 88 +++ gcc/testsuite/gcc.target/s390/zvector/vec_permi.c | 66 ++ gcc/testsuite/gfortran.dg/vect/vect-8.f90 | 2 +- gcc/testsuite/lib/profopt.exp | 6 +- gcc/testsuite/lib/target-supports.exp | 2 +- gcc/tree-sra.c | 5 +- gcc/tree-ssa-forwprop.c | 244 ++++++-- gcc/tree-tailcall.c | 34 +- gcc/tree-vect-data-refs.c | 31 +- gcc/tree-vect-loop.c | 21 +- gcc/tree-vect-patterns.c | 2 +- gcc/tree-vect-slp.c | 8 +- gcc/tree-vect-stmts.c | 100 ++- gcc/tree-vectorizer.h | 104 ++++ libcpp/makeucnid.c | 2 +- libcpp/ucnid.h | 671 ++++++++++----------- libgcc/ChangeLog | 4 + libgcc/config/t-slibgcc | 2 +- libgcc/config/t-slibgcc-darwin | 2 +- libgcc/config/t-slibgcc-fuchsia | 25 +- libgcc/config/t-slibgcc-vms | 2 +- libgo/go/runtime/chan.go | 31 +- libgomp/config/gcn/icv-device.c | 11 + libgomp/config/nvptx/icv-device.c | 11 + libgomp/fortran.c | 7 + libgomp/icv-device.c | 9 + libgomp/libgomp-plugin.h | 6 + libgomp/libgomp.map | 8 +- libgomp/libgomp.texi | 29 + libgomp/omp.h.in | 1 + libgomp/omp_lib.f90.in | 6 + libgomp/omp_lib.h.in | 3 + libgomp/plugin/plugin-gcn.c | 38 +- libgomp/plugin/plugin-nvptx.c | 25 +- libgomp/target.c | 36 +- libgomp/testsuite/lib/libgomp.exp | 5 + libgomp/testsuite/libgomp.c-c++-common/target-45.c | 30 + libgomp/testsuite/libgomp.fortran/target10.f90 | 20 + libsanitizer/ChangeLog | 5 + libstdc++-v3/ChangeLog | 244 ++++++++ libstdc++-v3/doc/html/index.html | 2 +- libstdc++-v3/doc/html/manual/api.html | 4 + libstdc++-v3/doc/html/manual/appendix.html | 2 +- libstdc++-v3/doc/html/manual/appendix_porting.html | 2 +- libstdc++-v3/doc/html/manual/index.html | 2 +- libstdc++-v3/doc/xml/manual/evolution.xml | 10 + libstdc++-v3/include/bits/c++config | 10 + libstdc++-v3/include/bits/forward_list.h | 30 +- libstdc++-v3/include/bits/iterator_concepts.h | 1 + libstdc++-v3/include/bits/locale_conv.h | 70 ++- libstdc++-v3/include/bits/random.tcc | 2 + libstdc++-v3/include/bits/range_access.h | 26 + libstdc++-v3/include/bits/ranges_base.h | 22 + libstdc++-v3/include/bits/regex_executor.h | 7 +- libstdc++-v3/include/bits/regex_executor.tcc | 2 +- libstdc++-v3/include/bits/regex_scanner.tcc | 4 +- libstdc++-v3/include/bits/stl_algo.h | 10 +- libstdc++-v3/include/bits/stl_bvector.h | 41 ++ libstdc++-v3/include/bits/stl_deque.h | 49 ++ libstdc++-v3/include/bits/stl_iterator.h | 121 +++- .../include/bits/stl_iterator_base_funcs.h | 3 + libstdc++-v3/include/bits/stl_list.h | 33 + libstdc++-v3/include/bits/stl_queue.h | 17 + libstdc++-v3/include/bits/stl_stack.h | 10 + libstdc++-v3/include/bits/stl_vector.h | 23 + libstdc++-v3/include/bits/stream_iterator.h | 8 + libstdc++-v3/include/bits/streambuf_iterator.h | 9 + libstdc++-v3/include/debug/deque | 18 + libstdc++-v3/include/debug/forward_list | 11 + libstdc++-v3/include/debug/list | 16 + libstdc++-v3/include/debug/safe_iterator.h | 22 + libstdc++-v3/include/debug/vector | 19 + libstdc++-v3/include/std/array | 38 +- libstdc++-v3/include/std/memory_resource | 132 +++- libstdc++-v3/include/std/ranges | 17 + libstdc++-v3/include/std/ratio | 10 + libstdc++-v3/include/std/regex | 18 +- libstdc++-v3/include/std/type_traits | 2 + libstdc++-v3/libsupc++/compare | 53 ++ .../18_support/comparisons/categories/zero_neg.cc | 2 +- .../20_util/function_objects/binders/3113.cc | 24 +- libstdc++-v3/testsuite/20_util/pair/cons/99957.cc | 1 + libstdc++-v3/testsuite/20_util/rel_ops.cc | 2 + .../20_util/shared_ptr/assign/auto_ptr.cc | 3 +- .../20_util/shared_ptr/assign/auto_ptr_neg.cc | 3 +- .../20_util/shared_ptr/assign/auto_ptr_rvalue.cc | 3 +- .../testsuite/20_util/shared_ptr/cons/43820_neg.cc | 1 + .../testsuite/20_util/shared_ptr/cons/auto_ptr.cc | 1 + .../20_util/shared_ptr/cons/auto_ptr_neg.cc | 1 + .../testsuite/20_util/shared_ptr/creation/dr925.cc | 7 +- .../testsuite/20_util/unique_ptr/cons/auto_ptr.cc | 3 +- .../20_util/unique_ptr/cons/auto_ptr_neg.cc | 3 +- .../21_strings/basic_string/range_access/char/1.cc | 4 +- .../basic_string/range_access/wchar_t/1.cc | 4 +- .../basic_string_view/range_access/char/1.cc | 8 +- .../basic_string_view/range_access/wchar_t/1.cc | 8 +- .../23_containers/array/creation/3_neg.cc | 2 +- .../23_containers/array/debug/back1_neg.cc | 2 +- .../23_containers/array/debug/back2_neg.cc | 2 +- .../23_containers/array/debug/front1_neg.cc | 2 +- .../23_containers/array/debug/front2_neg.cc | 2 +- .../array/debug/square_brackets_operator1_neg.cc | 2 +- .../array/debug/square_brackets_operator2_neg.cc | 2 +- .../testsuite/23_containers/array/range_access.cc | 4 +- .../23_containers/array/tuple_interface/get_neg.cc | 6 +- .../23_containers/deque/cons/clear_allocator.cc | 24 +- .../23_containers/deque/debug/invalidation/4.cc | 2 +- .../testsuite/23_containers/deque/range_access.cc | 4 +- .../testsuite/23_containers/deque/types/1.cc | 1 + .../23_containers/forward_list/operations/3.cc | 4 +- .../23_containers/forward_list/range_access.cc | 4 +- .../testsuite/23_containers/list/range_access.cc | 4 +- .../testsuite/23_containers/list/types/1.cc | 2 +- .../testsuite/23_containers/map/range_access.cc | 4 +- .../23_containers/multimap/range_access.cc | 4 +- .../23_containers/multiset/range_access.cc | 4 +- .../23_containers/priority_queue/members/7161.cc | 2 +- .../testsuite/23_containers/queue/members/7157.cc | 2 +- .../testsuite/23_containers/set/range_access.cc | 4 +- .../23_containers/unordered_map/range_access.cc | 4 +- .../unordered_multimap/range_access.cc | 4 +- .../unordered_multiset/range_access.cc | 4 +- .../23_containers/unordered_set/range_access.cc | 4 +- .../testsuite/23_containers/vector/59829.cc | 2 +- .../23_containers/vector/ext_pointer/types/1.cc | 8 +- .../23_containers/vector/ext_pointer/types/2.cc | 8 +- .../testsuite/23_containers/vector/range_access.cc | 8 +- .../testsuite/23_containers/vector/types/1.cc | 1 + .../24_iterators/customization_points/iter_move.cc | 2 +- .../24_iterators/istream_iterator/sentinel.cc | 6 +- .../24_iterators/istreambuf_iterator/sentinel.cc | 2 +- .../testsuite/24_iterators/move_iterator/dr2061.cc | 4 +- .../24_iterators/move_iterator/greedy_ops.cc | 2 + .../24_iterators/normal_iterator/greedy_ops.cc | 8 +- .../testsuite/24_iterators/operations/prev_neg.cc | 2 +- .../24_iterators/ostreambuf_iterator/2.cc | 6 +- .../24_iterators/range_access/range_access.cc | 4 +- .../24_iterators/range_operations/100768.cc | 22 +- .../testsuite/24_iterators/reverse_iterator/2.cc | 2 + .../24_iterators/reverse_iterator/greedy_ops.cc | 2 + .../25_algorithms/headers/algorithm/synopsis.cc | 220 +++---- .../testsuite/25_algorithms/random_shuffle/1.cc | 2 + .../25_algorithms/random_shuffle/59603.cc | 1 + .../25_algorithms/random_shuffle/moveable.cc | 1 + .../requirements/explicit_instantiation/2.cc | 5 +- .../requirements/explicit_instantiation/pod.cc | 5 +- .../testsuite/26_numerics/random/pr60037-neg.cc | 2 +- .../26_numerics/valarray/range_access2.cc | 8 +- libstdc++-v3/testsuite/28_regex/range_access.cc | 4 +- .../28_regex/traits/char/lookup_classname.cc | 1 + .../28_regex/traits/char/lookup_collatename.cc | 1 + .../testsuite/29_atomics/atomic/cons/assign_neg.cc | 2 +- .../testsuite/29_atomics/atomic/cons/copy_neg.cc | 2 +- .../29_atomics/atomic_integral/cons/assign_neg.cc | 2 +- .../29_atomics/atomic_integral/cons/copy_neg.cc | 2 +- .../atomic_integral/operators/bitwise_neg.cc | 6 +- .../atomic_integral/operators/decrement_neg.cc | 6 +- .../atomic_integral/operators/increment_neg.cc | 6 +- .../string_view/range_access/char/1.cc | 4 +- .../string_view/range_access/wchar_t/1.cc | 4 +- .../ext/pb_ds/example/priority_queue_erase_if.cc | 2 + .../ext/pb_ds/example/priority_queue_split_join.cc | 2 + libstdc++-v3/testsuite/ext/vstring/range_access.cc | 8 +- libstdc++-v3/testsuite/lib/dg-options.exp | 5 + libstdc++-v3/testsuite/std/ranges/access/101782.cc | 9 + libstdc++-v3/testsuite/std/ranges/adaptors/take.cc | 2 +- libstdc++-v3/testsuite/std/ranges/p2259.cc | 4 +- .../testsuite/util/testsuite_common_types.h | 18 +- 338 files changed, 8469 insertions(+), 1505 deletions(-)