https://gcc.gnu.org/g:504a13588c3919101c7409909bbe2c6af9dcb829
commit 504a13588c3919101c7409909bbe2c6af9dcb829 Merge: c22206a9eb81 8c15a6cefa0d Author: Jakub Jelinek <ja...@redhat.com> Date: Sat Mar 1 12:43:59 2025 +0100 Merge commit 'r15-7770-g8c15a6cefa0d1f8ec12701af1f528f473c33ff6b' into redhat/gcc-15-branch Diff: MAINTAINERS | 2 + gcc/ChangeLog | 166 ++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 8 +- gcc/acinclude.m4 | 17 + gcc/alias.cc | 68 +- gcc/c-family/c-cppbuiltin.cc | 1 + gcc/c-family/c.opt | 2 +- gcc/c/ChangeLog | 16 + gcc/c/c-typeck.cc | 42 +- gcc/config.in | 6 + gcc/config/arm/arm.h | 4 +- gcc/config/h8300/h8300.cc | 22 +- gcc/config/i386/i386-d.cc | 12 + gcc/config/i386/i386.cc | 6 + gcc/config/i386/i386.h | 6 - gcc/config/i386/x86-tune.def | 12 +- gcc/config/nvptx/nvptx-protos.h | 1 + gcc/config/nvptx/nvptx.cc | 21 + gcc/config/nvptx/nvptx.h | 2 + gcc/config/nvptx/nvptx.md | 46 +- gcc/config/nvptx/nvptx.opt | 15 + gcc/config/pru/pru-pragma.cc | 6 +- gcc/config/riscv/riscv-v.cc | 36 +- gcc/configure | 40 + gcc/configure.ac | 2 + gcc/cp/ChangeLog | 39 + gcc/cp/constexpr.cc | 55 +- gcc/cp/lambda.cc | 7 +- gcc/cp/parser.cc | 1 - gcc/d/ChangeLog | 9 + gcc/d/Make-lang.in | 2 +- gcc/d/d-codegen.cc | 6 +- gcc/d/d-ctfloat.cc | 6 +- gcc/d/d-longdouble.cc | 12 +- gcc/d/d-port.cc | 4 +- gcc/d/implement-d.texi | 8 + gcc/doc/install.texi | 2 +- gcc/doc/invoke.texi | 6 +- gcc/doc/sourcebuild.texi | 8 + gcc/expr.cc | 14 +- gcc/fortran/ChangeLog | 28 + gcc/fortran/resolve.cc | 8 + gcc/fortran/trans-expr.cc | 13 +- gcc/fortran/trans-stmt.cc | 7 +- gcc/genmatch.cc | 16 +- gcc/ggc-common.cc | 30 + gcc/ggc-none.cc | 49 + gcc/ggc-page.cc | 27 + gcc/ggc.h | 41 +- gcc/gimple-fold.cc | 2 +- gcc/gimple-range-phi.cc | 2 +- gcc/gimplify.cc | 1 + gcc/ginclude/stddef.h | 8 +- gcc/input.cc | 71 +- gcc/input.h | 4 +- gcc/ipa-modref.cc | 3 +- gcc/ipa-sra.cc | 38 +- gcc/lra-assigns.cc | 45 +- gcc/lra-int.h | 14 +- gcc/lra.cc | 16 +- gcc/lto/lto-symtab.cc | 2 +- gcc/omp-simd-clone.cc | 2 +- gcc/simple-diagnostic-path.cc | 15 - gcc/simple-diagnostic-path.h | 4 +- gcc/testsuite/ChangeLog | 180 ++ gcc/testsuite/c-c++-common/toplevel-asm-1.c | 2 +- gcc/testsuite/g++.dg/cpp/embed-1.C | 4 +- gcc/testsuite/g++.dg/cpp/embed-2.C | 4 +- gcc/testsuite/g++.dg/cpp0x/constexpr-nsdmi4.C | 19 + gcc/testsuite/g++.dg/cpp0x/constexpr-nsdmi5.C | 15 + gcc/testsuite/g++.dg/cpp0x/constexpr-prvalue5.C | 24 + gcc/testsuite/g++.dg/cpp1y/constexpr-complex2.C | 18 + gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda15.C | 11 + gcc/testsuite/g++.dg/cpp26/feat-cxx26.C | 6 + gcc/testsuite/g++.dg/cpp2a/constexpr-prvalue1.C | 23 + gcc/testsuite/g++.dg/cpp2a/fn-template11.C | 2 +- .../g++.dg/ext/pragma-unroll-lambda-lto.C | 1 + gcc/testsuite/g++.dg/ipa/pr118243.C | 40 + gcc/testsuite/g++.dg/pr66279.C | 23 + gcc/testsuite/g++.dg/template/fn-template1.C | 12 + gcc/testsuite/g++.dg/template/fn-template2.C | 9 + gcc/testsuite/g++.dg/torture/pr111245.C | 23 + gcc/testsuite/g++.target/riscv/pr115458.C | 357 +++ gcc/testsuite/gcc.c-torture/execute/pr119030.c | 26 + gcc/testsuite/gcc.dg/c23-stddef-2.c | 17 + gcc/testsuite/gcc.dg/cpp/embed-17.c | 14 + gcc/testsuite/gcc.dg/gomp/simd-clones-8.c | 10 + gcc/testsuite/gcc.dg/lto/pr91299_0.c | 16 + gcc/testsuite/gcc.dg/lto/pr91299_1.c | 6 + gcc/testsuite/gcc.dg/pr116336.c | 16 + gcc/testsuite/gcc.dg/pr117712.c | 13 + gcc/testsuite/gcc.dg/pr118860.c | 5 + gcc/testsuite/gcc.dg/pr119001-1.c | 35 + gcc/testsuite/gcc.dg/pr119001-2.c | 20 + gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c | 2 + gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_2g.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ivopts-5.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/ivopts-6.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/ivopts-7.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/ivopts-8.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/ivopts-9.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-1.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-10.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-11.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-12.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-2.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-4.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-5.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-6.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-7.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-8.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-9.c | 1 + gcc/testsuite/gcc.dg/vect/vect-simd-clone-16f.c | 2 + gcc/testsuite/gcc.dg/vect/vect-simd-clone-17f.c | 2 + gcc/testsuite/gcc.dg/vect/vect-simd-clone-18f.c | 2 + gcc/testsuite/gcc.dg/vect/vect-simd-clone-20.c | 6 +- .../gcc.target/arm/lto/pr61123-enum-size_0.c | 3 +- gcc/testsuite/gcc.target/i386/pr101950-2.c | 13 +- gcc/testsuite/gcc.target/i386/pr118940.c | 30 + gcc/testsuite/gcc.target/i386/pr87984.c | 23 + gcc/testsuite/gcc.target/i386/pr90178.c | 1 + gcc/testsuite/gcc.target/i386/strub-pr118006.c | 2 +- .../nvptx/alloca-1-O0_-mfake-ptx-alloca.c | 49 + .../gcc.target/nvptx/alloca-1-dead-O0-sm_30.c | 10 + gcc/testsuite/gcc.target/nvptx/alloca-1-dead-O0.c | 48 + .../gcc.target/nvptx/alloca-1-dead-O1-sm_30.c | 17 + gcc/testsuite/gcc.target/nvptx/alloca-1-dead-O1.c | 17 + .../gcc.target/nvptx/alloca-1-unused-O0-sm_30.c | 17 + .../gcc.target/nvptx/alloca-1-unused-O0.c | 16 + .../gcc.target/nvptx/alloca-1-unused-O1-sm_30.c | 16 + .../gcc.target/nvptx/alloca-1-unused-O1.c | 16 + .../nvptx/alloca-2-O0_-mfake-ptx-alloca.c | 18 + gcc/testsuite/gcc.target/nvptx/alloca-4-O3.c | 2 + .../nvptx/alloca-4-O3_-mfake-ptx-alloca.c | 48 + gcc/testsuite/gcc.target/nvptx/stack_frame-1.c | 31 + .../gcc.target/nvptx/vla-1-O0_-mfake-ptx-alloca.c | 29 + .../gcc.target/nvptx/vla-1-dead-O0-sm_30.c | 10 + gcc/testsuite/gcc.target/nvptx/vla-1-dead-O0.c | 27 + .../gcc.target/nvptx/vla-1-dead-O1-sm_30.c | 19 + gcc/testsuite/gcc.target/nvptx/vla-1-dead-O1.c | 19 + .../gcc.target/nvptx/vla-1-unused-O0-sm_30.c | 9 + gcc/testsuite/gcc.target/nvptx/vla-1-unused-O0.c | 26 + .../gcc.target/nvptx/vla-1-unused-O1-sm_30.c | 18 + gcc/testsuite/gcc.target/nvptx/vla-1-unused-O1.c | 18 + .../gcc.target/riscv/rvv/base/pr118931-run-1.c | 19 + gcc/testsuite/gdc.dg/pr116961.d | 7 + gcc/testsuite/gdc.dg/target/i386/i386.exp | 48 + gcc/testsuite/gdc.dg/target/i386/targetinfo_CET.d | 3 + gcc/testsuite/gfortran.dg/associate_73.f90 | 21 + gcc/testsuite/gfortran.dg/class_array_15.f03 | 2 +- gcc/testsuite/gfortran.dg/coarray/complex_1.f90 | 31 + gcc/testsuite/gfortran.dg/coarray_poly_7.f90 | 2 +- gcc/testsuite/gfortran.dg/coarray_poly_8.f90 | 2 +- gcc/testsuite/gfortran.dg/finalize_60.f90 | 33 + gcc/testsuite/lib/target-supports-dg.exp | 29 + gcc/testsuite/lib/target-supports.exp | 200 +- gcc/toplev.cc | 3 +- gcc/tree-ssa-dom.cc | 4 +- gcc/tree-ssa-sccvn.cc | 2 + gcc/varasm.cc | 9 +- libcpp/directives.cc | 15 +- libcpp/include/cpplib.h | 1 + libcpp/init.cc | 4 +- libgfortran/ChangeLog | 6 + libgfortran/config/t-nvptx | 2 + libgfortran/configure.host | 4 + libphobos/ChangeLog | 178 ++ libphobos/Makefile.in | 1 - libphobos/configure | 8 +- libphobos/configure.ac | 3 - libphobos/libdruntime/Makefile.am | 4 +- libphobos/libdruntime/Makefile.in | 5 +- libphobos/libdruntime/core/thread/fiber/package.d | 4 +- libphobos/scripts/.gitignore | 4 + libphobos/scripts/README | 39 + libphobos/scripts/gen_druntime_sources.d | 92 + libphobos/scripts/gen_phobos_sources.d | 116 + libphobos/scripts/tests_extractor.d | 224 ++ libphobos/src/Makefile.am | 4 +- libphobos/src/Makefile.in | 5 +- libphobos/testsuite/Makefile.am | 3 +- libphobos/testsuite/Makefile.in | 4 +- .../shared/druntime-shared.exp} | 0 .../{druntime.exp => static/druntime-static.exp} | 0 libphobos/testsuite/libphobos.phobos/phobos.exp | 12 +- .../shared/phobos-shared.exp} | 11 +- .../libphobos.phobos/static/phobos-static.exp | 61 + .../libphobos.phobos/std_algorithm_comparison.d | 454 ++++ .../libphobos.phobos/std_algorithm_iteration.d | 1004 ++++++++ .../libphobos.phobos/std_algorithm_mutation.d | 627 +++++ .../libphobos.phobos/std_algorithm_searching.d | 668 ++++++ .../libphobos.phobos/std_algorithm_setops.d | 281 +++ .../libphobos.phobos/std_algorithm_sorting.d | 462 ++++ libphobos/testsuite/libphobos.phobos/std_array.d | 560 +++++ libphobos/testsuite/libphobos.phobos/std_ascii.d | 262 +++ libphobos/testsuite/libphobos.phobos/std_base64.d | 180 ++ libphobos/testsuite/libphobos.phobos/std_bigint.d | 465 ++++ .../testsuite/libphobos.phobos/std_bitmanip.d | 1628 +++++++++++++ .../testsuite/libphobos.phobos/std_checkedint.d | 628 +++++ libphobos/testsuite/libphobos.phobos/std_complex.d | 403 ++++ .../testsuite/libphobos.phobos/std_concurrency.d | 235 ++ .../libphobos.phobos/std_container_array.d | 56 + .../libphobos.phobos/std_container_binaryheap.d | 102 + .../libphobos.phobos/std_container_dlist.d | 47 + .../libphobos.phobos/std_container_rbtree.d | 60 + .../libphobos.phobos/std_container_slist.d | 28 + .../libphobos.phobos/std_container_util.d | 51 + libphobos/testsuite/libphobos.phobos/std_conv.d | 511 +++++ libphobos/testsuite/libphobos.phobos/std_csv.d | 228 ++ .../testsuite/libphobos.phobos/std_datetime_date.d | 992 ++++++++ .../libphobos.phobos/std_datetime_interval.d | 112 + .../libphobos.phobos/std_datetime_package.d | 34 + .../libphobos.phobos/std_datetime_stopwatch.d | 210 ++ .../libphobos.phobos/std_datetime_systime.d | 750 ++++++ .../libphobos.phobos/std_datetime_timezone.d | 15 + .../testsuite/libphobos.phobos/std_demangle.d | 33 + .../testsuite/libphobos.phobos/std_digest_crc.d | 207 ++ .../testsuite/libphobos.phobos/std_digest_hmac.d | 145 ++ .../testsuite/libphobos.phobos/std_digest_md.d | 124 + .../libphobos.phobos/std_digest_murmurhash.d | 82 + .../libphobos.phobos/std_digest_package.d | 492 ++++ .../testsuite/libphobos.phobos/std_digest_ripemd.d | 127 + .../testsuite/libphobos.phobos/std_digest_sha.d | 163 ++ .../testsuite/libphobos.phobos/std_encoding.d | 167 ++ .../testsuite/libphobos.phobos/std_exception.d | 543 +++++ ...tal_allocator_building_blocks_affix_allocator.d | 14 + ..._allocator_building_blocks_aligned_block_list.d | 139 ++ ...ntal_allocator_building_blocks_allocator_list.d | 45 + ...ator_building_blocks_ascending_page_allocator.d | 52 + ...tal_allocator_building_blocks_bitmapped_block.d | 139 ++ ...rimental_allocator_building_blocks_bucketizer.d | 23 + ..._allocator_building_blocks_fallback_allocator.d | 16 + ...erimental_allocator_building_blocks_free_list.d | 45 + ...l_allocator_building_blocks_kernighan_ritchie.d | 40 + ...erimental_allocator_building_blocks_quantizer.d | 23 + ...experimental_allocator_building_blocks_region.d | 90 + ...al_allocator_building_blocks_scoped_allocator.d | 13 + ...rimental_allocator_building_blocks_segregator.d | 43 + ...tal_allocator_building_blocks_stats_collector.d | 33 + .../std_experimental_allocator_common.d | 33 + .../std_experimental_allocator_gc_allocator.d | 10 + .../std_experimental_allocator_mallocator.d | 19 + .../std_experimental_allocator_package.d | 263 +++ .../std_experimental_allocator_showcase.d | 22 + .../std_experimental_allocator_typed.d | 34 + libphobos/testsuite/libphobos.phobos/std_file.d | 756 ++++++ .../libphobos.phobos/std_format_package.d | 139 ++ .../testsuite/libphobos.phobos/std_format_read.d | 275 +++ .../testsuite/libphobos.phobos/std_format_spec.d | 43 + .../testsuite/libphobos.phobos/std_format_write.d | 421 ++++ .../testsuite/libphobos.phobos/std_functional.d | 360 +++ libphobos/testsuite/libphobos.phobos/std_getopt.d | 18 + libphobos/testsuite/libphobos.phobos/std_int128.d | 128 ++ .../libphobos.phobos/std_internal_cstring.d | 47 + .../libphobos.phobos/std_internal_scopebuffer.d | 9 + libphobos/testsuite/libphobos.phobos/std_json.d | 252 ++ .../testsuite/libphobos.phobos/std_logger_core.d | 22 + .../libphobos.phobos/std_logger_nulllogger.d | 10 + .../libphobos.phobos/std_math_algebraic.d | 163 ++ .../libphobos.phobos/std_math_exponential.d | 279 +++ .../testsuite/libphobos.phobos/std_math_hardware.d | 18 + .../libphobos.phobos/std_math_operations.d | 217 ++ .../libphobos.phobos/std_math_remainder.d | 54 + .../testsuite/libphobos.phobos/std_math_rounding.d | 171 ++ .../testsuite/libphobos.phobos/std_math_traits.d | 189 ++ .../libphobos.phobos/std_math_trigonometry.d | 168 ++ libphobos/testsuite/libphobos.phobos/std_meta.d | 525 +++++ libphobos/testsuite/libphobos.phobos/std_mmfile.d | 43 + libphobos/testsuite/libphobos.phobos/std_numeric.d | 203 ++ .../testsuite/libphobos.phobos/std_outbuffer.d | 95 + libphobos/testsuite/libphobos.phobos/std_package.d | 27 + .../testsuite/libphobos.phobos/std_parallelism.d | 37 + libphobos/testsuite/libphobos.phobos/std_path.d | 611 +++++ libphobos/testsuite/libphobos.phobos/std_random.d | 578 +++++ .../libphobos.phobos/std_range_interfaces.d | 32 + .../testsuite/libphobos.phobos/std_range_package.d | 1346 +++++++++++ .../libphobos.phobos/std_range_primitives.d | 591 +++++ .../testsuite/libphobos.phobos/std_regex_package.d | 175 ++ libphobos/testsuite/libphobos.phobos/std_signals.d | 85 + libphobos/testsuite/libphobos.phobos/std_socket.d | 66 + libphobos/testsuite/libphobos.phobos/std_stdio.d | 185 ++ libphobos/testsuite/libphobos.phobos/std_string.d | 892 ++++++++ libphobos/testsuite/libphobos.phobos/std_sumtype.d | 301 +++ libphobos/testsuite/libphobos.phobos/std_traits.d | 2419 ++++++++++++++++++++ .../testsuite/libphobos.phobos/std_typecons.d | 1931 ++++++++++++++++ .../testsuite/libphobos.phobos/std_typetuple.d | 24 + .../testsuite/libphobos.phobos/std_uni_package.d | 547 +++++ libphobos/testsuite/libphobos.phobos/std_uri.d | 71 + libphobos/testsuite/libphobos.phobos/std_utf.d | 474 ++++ libphobos/testsuite/libphobos.phobos/std_uuid.d | 252 ++ libphobos/testsuite/libphobos.phobos/std_variant.d | 291 +++ libphobos/testsuite/libphobos.phobos/std_zlib.d | 29 + .../testsuite/libphobos.unittest/unittest.exp | 4 +- libphobos/testsuite/testsuite_flags.in | 2 +- libstdc++-v3/ChangeLog | 72 + libstdc++-v3/include/bits/algorithmfwd.h | 2 + libstdc++-v3/include/bits/c++config | 8 + libstdc++-v3/include/bits/hashtable.h | 71 +- libstdc++-v3/include/bits/hashtable_policy.h | 18 - libstdc++-v3/include/bits/iterator_concepts.h | 33 +- libstdc++-v3/include/bits/ranges_algo.h | 2 + libstdc++-v3/include/bits/ranges_algobase.h | 26 +- libstdc++-v3/include/bits/ranges_base.h | 6 +- libstdc++-v3/include/bits/stl_algo.h | 11 + libstdc++-v3/include/bits/stl_algobase.h | 3 +- libstdc++-v3/include/bits/stl_iterator.h | 16 +- libstdc++-v3/include/bits/version.def | 4 + libstdc++-v3/include/bits/version.h | 7 +- libstdc++-v3/include/std/optional | 3 +- libstdc++-v3/include/std/ranges | 3 + libstdc++-v3/include/std/stacktrace | 2 +- .../23_containers/unordered_map/modifiers/merge.cc | 46 + .../24_iterators/const_iterator/112490.cc | 12 + .../24_iterators/customization_points/iter_move.cc | 95 + .../testsuite/25_algorithms/cpp_lib_constexpr.cc | 4 + .../25_algorithms/headers/algorithm/synopsis.cc | 2 + .../testsuite/25_algorithms/move/constrained.cc | 29 + .../25_algorithms/move_backward/constrained.cc | 29 + .../25_algorithms/stable_sort/constexpr.cc | 62 + libstdc++-v3/testsuite/std/ranges/access/cbegin.cc | 17 + libstdc++-v3/testsuite/std/ranges/access/cdata.cc | 21 +- libstdc++-v3/testsuite/std/ranges/access/cend.cc | 30 +- .../testsuite/std/ranges/access/crbegin.cc | 43 +- libstdc++-v3/testsuite/std/ranges/access/crend.cc | 20 +- libstdc++-v3/testsuite/std/ranges/adaptors/join.cc | 8 +- .../testsuite/std/ranges/adaptors/take_while.cc | 2 - .../testsuite/std/ranges/adaptors/transform.cc | 4 - libstdc++-v3/testsuite/std/ranges/conv/112803.cc | 20 + 332 files changed, 33937 insertions(+), 550 deletions(-)