https://gcc.gnu.org/g:7f7da6c240f2e0284ff201975844673f2ef070c7
commit 7f7da6c240f2e0284ff201975844673f2ef070c7 Merge: a1bd74ba1df9 b59e9de990a1 Author: Thomas Schwinge <tschwi...@baylibre.com> Date: Mon Mar 11 00:47:49 2024 +0100 Merge commit 'af91934c2f6b8efc67d625c99068b4761ae5edd0^' into HEAD Diff: contrib/ChangeLog | 41 ++ contrib/gcc-changelog/git_commit.py | 20 +- contrib/gcc-changelog/git_email.py | 3 +- contrib/gcc-git-customization.sh | 6 +- gcc/ChangeLog | 230 +++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 33 + gcc/analyzer/diagnostic-manager.cc | 90 ++- gcc/analyzer/program-point.cc | 17 +- gcc/analyzer/region-model.cc | 43 +- gcc/analyzer/region-model.h | 9 +- gcc/analyzer/supergraph.cc | 13 + gcc/analyzer/supergraph.h | 2 + gcc/common/config/loongarch/loongarch-common.cc | 1 + gcc/config.gcc | 2 +- gcc/config/darwin.cc | 15 +- gcc/config/i386/sse.md | 48 +- gcc/config/loongarch/loongarch.cc | 27 +- gcc/config/loongarch/loongarch.h | 3 + gcc/config/loongarch/loongarch.md | 66 +- gcc/config/riscv/autovec-vls.md | 14 +- gcc/config/riscv/autovec.md | 6 +- gcc/config/riscv/bitmanip.md | 13 +- gcc/config/riscv/riscv-protos.h | 4 +- gcc/config/riscv/riscv-v.cc | 75 +-- gcc/config/riscv/riscv-vsetvl.cc | 14 +- gcc/config/riscv/riscv.cc | 8 +- gcc/config/riscv/riscv.md | 3 +- gcc/config/riscv/riscv.opt | 2 +- gcc/config/riscv/thead.md | 21 +- gcc/config/riscv/vector-iterators.md | 364 +++++++++- gcc/config/riscv/vector.md | 370 +++++----- gcc/cp/ChangeLog | 17 + gcc/cp/parser.cc | 5 +- gcc/cp/pt.cc | 87 ++- gcc/fold-const.cc | 24 + gcc/fortran/ChangeLog | 11 + gcc/fortran/bbt.cc | 41 +- gcc/fortran/gfortran.h | 3 +- gcc/fortran/symbol.cc | 6 +- gcc/gimple-range.cc | 10 +- gcc/lra-constraints.cc | 14 +- gcc/match.pd | 8 +- gcc/pretty-print.h | 35 +- gcc/range-op-float.cc | 23 +- gcc/range-op.cc | 30 +- gcc/rust/ChangeLog | 11 + gcc/testsuite/ChangeLog | 406 +++++++++++ .../analyzer/allocation-size-1.c | 24 +- .../analyzer/allocation-size-2.c | 19 +- .../analyzer/allocation-size-3.c | 15 +- .../analyzer/allocation-size-4.c | 16 +- .../analyzer/analyzer-verbosity-0.c | 100 ++- .../analyzer/analyzer-verbosity-1.c | 130 +++- .../analyzer/analyzer-verbosity-2.c | 159 ++++- .../analyzer/analyzer-verbosity-3.c | 159 ++++- .../analyzer/attr-alloc_size-1.c | 20 +- .../analyzer/attr-alloc_size-2.c | 2 +- .../analyzer/call-summaries-malloc.c | 11 +- .../analyzer/call-summaries-pr107158-2.c | 9 +- .../{gcc.dg => c-c++-common}/analyzer/capacity-1.c | 4 +- .../c-c++-common/analyzer/compound-assignment-1.c | 72 ++ .../c-c++-common/analyzer/computed-goto-1.c | 60 ++ .../{gcc.dg => c-c++-common}/analyzer/dot-output.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/escaping-1.c | 13 +- .../{gcc.dg => c-c++-common}/analyzer/expect-1.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/fgets-1.c | 2 +- .../c-c++-common/analyzer/file-pr58237-noexcept.c | 82 +++ .../analyzer/file-uninit-1.c | 0 .../{gcc.dg => c-c++-common}/analyzer/fileno-1.c | 0 .../analyzer/first-field-1.c | 2 +- .../analyzer/first-field-2.c | 2 +- .../analyzer/flex-with-call-summaries.c | 0 .../analyzer/flex-without-call-summaries.c | 3 +- .../analyzer/flexible-array-member-1.c | 22 +- .../analyzer/fold-string-to-char.c | 2 +- gcc/testsuite/c-c++-common/analyzer/fopen-2.c | 52 ++ .../{gcc.dg => c-c++-common}/analyzer/fread-1.c | 0 .../{gcc.dg => c-c++-common}/analyzer/fread-2.c | 2 +- .../analyzer/fread-pr108661.c | 0 .../analyzer/function-ptr-1.c | 0 .../analyzer/function-ptr-2.c | 2 +- .../analyzer/function-ptr-3.c | 0 .../analyzer/function-ptr-4.c | 0 .../{gcc.dg => c-c++-common}/analyzer/getc-1.c | 0 .../{gcc.dg => c-c++-common}/analyzer/getchar-1.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/gzio-2.c | 0 .../{gcc.dg => c-c++-common}/analyzer/gzio-3.c | 0 .../{gcc.dg => c-c++-common}/analyzer/gzio-3a.c | 0 .../{gcc.dg => c-c++-common}/analyzer/gzio.c | 0 .../analyzer/imprecise-floating-point-1.c | 14 +- .../analyzer/infinite-recursion-2.c | 0 .../analyzer/infinite-recursion-3.c | 0 .../analyzer/infinite-recursion-4-limited-buggy.c | 0 .../analyzer/infinite-recursion-4-limited.c | 0 .../infinite-recursion-4-unlimited-buggy.c | 0 .../analyzer/infinite-recursion-4-unlimited.c | 0 .../analyzer/infinite-recursion-5.c | 0 .../analyzer/infinite-recursion-alloca.c | 0 .../analyzer/infinite-recursion-inlining.c | 0 .../analyzer/infinite-recursion-multiline-1.c | 31 +- .../analyzer/infinite-recursion-multiline-2.c | 76 ++- .../analyzer/infinite-recursion-pr108935-1.c | 0 .../analyzer/infinite-recursion-pr108935-1a.c | 0 .../analyzer/infinite-recursion-pr108935-2.c | 0 .../analyzer/infinite-recursion-variadic.c | 0 .../analyzer/infinite-recursion.c | 0 .../analyzer/inlining-1-multiline.c | 41 +- .../analyzer/inlining-1-no-undo.c | 6 +- gcc/testsuite/c-c++-common/analyzer/inlining-1.c | 22 + .../analyzer/inlining-2-multiline.c | 30 +- gcc/testsuite/c-c++-common/analyzer/inlining-2.c | 21 + .../analyzer/inlining-5-multiline.c | 36 +- gcc/testsuite/c-c++-common/analyzer/inlining-5.c | 29 + .../analyzer/inlining-6-multiline.c | 41 +- .../{gcc.dg => c-c++-common}/analyzer/inlining-6.c | 0 .../analyzer/inlining-7-multiline.c | 83 ++- gcc/testsuite/c-c++-common/analyzer/inlining-7.c | 60 ++ .../analyzer/invalid-shift-1.c | 0 .../{gcc.dg => c-c++-common}/analyzer/isatty-1.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/leak-2.c | 3 +- .../{gcc.dg => c-c++-common}/analyzer/leak-3.c | 0 .../{gcc.dg => c-c++-common}/analyzer/leak-4.c | 24 +- .../analyzer/loop-0-up-to-n-by-1-with-iter-obj.c | 4 +- .../analyzer/loop-0-up-to-n-by-1.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/loop-2.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/loop-2a.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/loop-3.c | 0 .../{gcc.dg => c-c++-common}/analyzer/loop-4.c | 2 +- .../analyzer/loop-n-down-to-1-by-1.c | 2 +- .../analyzer/loop-start-down-to-end-by-1.c | 2 +- .../analyzer/loop-start-down-to-end-by-step.c | 2 +- .../analyzer/loop-start-to-end-by-step.c | 2 +- .../analyzer/loop-start-up-to-end-by-1.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/loop.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/malloc-3.c | 3 +- .../{gcc.dg => c-c++-common}/analyzer/malloc-5.c | 2 +- .../analyzer/malloc-CWE-401-example.c | 0 .../analyzer/malloc-CWE-415-examples.c | 0 .../analyzer/malloc-CWE-416-examples.c | 0 .../analyzer/malloc-CWE-590-examples.c | 6 +- .../analyzer/malloc-callbacks.c | 6 +- .../{gcc.dg => c-c++-common}/analyzer/malloc-dce.c | 0 .../analyzer/malloc-dedupe-1.c | 0 .../analyzer/malloc-in-loop.c | 2 +- .../analyzer/malloc-ipa-1.c | 0 .../analyzer/malloc-ipa-11.c | 68 +- .../analyzer/malloc-ipa-2.c | 0 .../analyzer/malloc-ipa-3.c | 0 .../analyzer/malloc-ipa-4.c | 2 +- .../analyzer/malloc-ipa-5.c | 2 +- .../analyzer/malloc-ipa-6.c | 0 .../analyzer/malloc-ipa-7.c | 8 +- .../analyzer/malloc-ipa-8-unchecked.c | 43 +- .../analyzer/malloc-macro-inline-events.c | 30 +- .../analyzer/malloc-macro-separate-events.c | 2 +- .../analyzer/malloc-macro.h | 0 .../analyzer/malloc-paths-9-noexcept.c | 435 ++++++++++++ .../null-deref-pr108400-SoftEtherVPN-WebUi.c | 13 +- .../analyzer/out-of-bounds-1.c | 6 +- .../analyzer/out-of-bounds-2.c | 4 +- .../analyzer/out-of-bounds-5.c | 20 +- .../analyzer/out-of-bounds-diagram-11.c | 6 +- .../analyzer/out-of-bounds-diagram-3.c | 3 +- .../analyzer/out-of-bounds-diagram-8.c | 3 +- .../{gcc.dg => c-c++-common}/analyzer/phi-1.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/pr100615.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/pr103526.c | 4 +- .../c-c++-common/analyzer/pr109577-noexcept.c | 2 + gcc/testsuite/c-c++-common/analyzer/pr110830.c | 111 +++ .../pr93355-localealias-feasibility-noexcept.c | 85 +++ .../{gcc.dg => c-c++-common}/analyzer/pr94362-1.c | 10 +- .../{gcc.dg => c-c++-common}/analyzer/pr97074.c | 3 +- .../c-c++-common/analyzer/pr99193-1-noexcept.c | 68 ++ gcc/testsuite/c-c++-common/analyzer/pr99193-2.c | 2 +- gcc/testsuite/c-c++-common/analyzer/realloc-1.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/scope-1.c | 2 +- .../{gcc.dg => c-c++-common}/analyzer/setjmp-2.c | 53 +- .../{gcc.dg => c-c++-common}/analyzer/setjmp-5.c | 57 +- .../{gcc.dg => c-c++-common}/analyzer/setjmp-9.c | 71 +- .../{gcc.dg => c-c++-common}/analyzer/signal-4a.c | 50 +- .../{gcc.dg => c-c++-common}/analyzer/signal-4b.c | 62 +- gcc/testsuite/g++.dg/cpp2a/concepts-nondep4.C | 16 + .../g++.dg/cpp2a/concepts-recursive-sat4.C | 2 + gcc/testsuite/g++.dg/gomp/pr111274.C | 15 + gcc/testsuite/gcc.c-torture/execute/pr111331-1.c | 17 + gcc/testsuite/gcc.c-torture/execute/pr111331-2.c | 19 + gcc/testsuite/gcc.c-torture/execute/pr111331-3.c | 15 + .../gcc.dg/analyzer/compound-assignment-1.c | 70 -- .../gcc.dg/analyzer/computed-goto-pr110529.c | 27 + gcc/testsuite/gcc.dg/analyzer/file-pr58237.c | 11 +- gcc/testsuite/gcc.dg/analyzer/fopen-1.c | 52 +- gcc/testsuite/gcc.dg/analyzer/inlining-1.c | 17 - gcc/testsuite/gcc.dg/analyzer/inlining-2.c | 17 - gcc/testsuite/gcc.dg/analyzer/inlining-5.c | 24 - gcc/testsuite/gcc.dg/analyzer/inlining-7.c | 49 -- gcc/testsuite/gcc.dg/analyzer/malloc-4.c | 5 +- gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c | 2 + gcc/testsuite/gcc.dg/analyzer/pr103892.c | 24 +- gcc/testsuite/gcc.dg/analyzer/pr109577.c | 8 +- .../analyzer/pr93355-localealias-feasibility.c | 8 +- gcc/testsuite/gcc.dg/analyzer/pr99193-1.c | 10 +- gcc/testsuite/gcc.dg/darwin-segaddr.c | 1 + gcc/testsuite/gcc.dg/pie-7.c | 1 + gcc/testsuite/gcc.dg/pr110875.c | 34 + gcc/testsuite/gcc.dg/tree-ssa/minmax-25.c | 21 + gcc/testsuite/gcc.dg/tree-ssa/minmaxcmp-1.c | 39 ++ gcc/testsuite/gcc.target/i386/pr111225.c | 16 + gcc/testsuite/gcc.target/i386/pr111306.c | 36 + gcc/testsuite/gcc.target/loongarch/memcpy-vec-1.c | 11 + gcc/testsuite/gcc.target/loongarch/memcpy-vec-2.c | 12 + gcc/testsuite/gcc.target/loongarch/memcpy-vec-3.c | 6 + gcc/testsuite/gcc.target/loongarch/mulw_d_wu.c | 9 + .../gcc.target/loongarch/smuldi3_highpart.c | 13 + .../gcc.target/loongarch/smulsi3_highpart.c | 15 + .../gcc.target/loongarch/umulsi3_highpart.c | 14 + .../gcc.target/riscv/rvv/autovec/fold-min-poly.c | 24 + .../gcc.target/riscv/rvv/autovec/partial/slp-1.c | 2 +- .../gcc.target/riscv/rvv/autovec/partial/slp-16.c | 2 +- .../gcc.target/riscv/rvv/autovec/partial/slp-17.c | 2 +- .../gcc.target/riscv/rvv/autovec/partial/slp-3.c | 2 +- .../gcc.target/riscv/rvv/autovec/partial/slp-5.c | 2 +- .../gcc.target/riscv/rvv/autovec/vls/compress-1.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/compress-2.c | 7 + .../gcc.target/riscv/rvv/autovec/vls/compress-3.c | 7 + .../gcc.target/riscv/rvv/autovec/vls/compress-4.c | 7 + .../gcc.target/riscv/rvv/autovec/vls/compress-5.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/compress-6.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/div-1.c | 2 +- .../gcc.target/riscv/rvv/autovec/vls/merge-1.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/merge-2.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/merge-3.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/merge-4.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/merge-5.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/merge-6.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/merge-7.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/perm-1.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/perm-2.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/perm-3.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/perm-4.c | 8 + .../gcc.target/riscv/rvv/autovec/vls/perm-5.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/perm-6.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/perm-7.c | 6 + .../gcc.target/riscv/rvv/autovec/vls/shift-3.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadbb-ext-2.c | 12 + gcc/testsuite/gcc.target/riscv/xtheadbb-ext-3.c | 12 + gcc/tree-ssa-phiopt.cc | 8 +- gcc/value-range.h | 2 +- gcc/wide-int-print.cc | 12 + gcc/wide-int-print.h | 1 + libgomp/ChangeLog | 11 + libgomp/libgomp.texi | 160 ++++- libgomp/target.c | 2 +- libstdc++-v3/ChangeLog | 197 ++++++ libstdc++-v3/acinclude.m4 | 69 +- libstdc++-v3/config.h.in | 12 + libstdc++-v3/config/cpu/loongarch/t-loongarch | 1 + libstdc++-v3/configure | 275 +++++++- libstdc++-v3/configure.host | 5 +- libstdc++-v3/doc/Makefile.am | 4 +- libstdc++-v3/doc/Makefile.in | 4 +- libstdc++-v3/doc/html/manual/using.html | 26 +- .../doc/html/manual/using_dynamic_or_shared.html | 4 + libstdc++-v3/doc/xml/manual/using.xml | 37 +- libstdc++-v3/include/bits/version.def | 9 + libstdc++-v3/include/bits/version.h | 25 +- libstdc++-v3/include/std/stacktrace | 222 +++--- libstdc++-v3/include/std/thread | 62 ++ libstdc++-v3/scripts/testsuite_flags.in | 8 +- libstdc++-v3/src/Makefile.am | 4 +- libstdc++-v3/src/Makefile.in | 7 +- libstdc++-v3/src/c++11/cow-locale_init.cc | 5 +- libstdc++-v3/src/c++17/fs_ops.cc | 12 +- libstdc++-v3/src/c++17/fs_path.cc | 2 +- libstdc++-v3/src/c++20/Makefile.am | 2 +- libstdc++-v3/src/c++20/Makefile.in | 2 +- libstdc++-v3/src/c++23/Makefile.am | 109 +++ libstdc++-v3/src/c++23/Makefile.in | 747 +++++++++++++++++++++ libstdc++-v3/src/c++23/stacktrace.cc | 171 +++++ libstdc++-v3/src/experimental/Makefile.am | 20 + libstdc++-v3/src/experimental/Makefile.in | 15 +- libstdc++-v3/src/filesystem/ops-common.h | 18 +- libstdc++-v3/src/filesystem/ops.cc | 10 +- libstdc++-v3/src/filesystem/path.cc | 2 +- libstdc++-v3/src/libbacktrace/Makefile.am | 5 +- libstdc++-v3/src/libbacktrace/Makefile.in | 90 +-- .../testsuite/19_diagnostics/stacktrace/current.cc | 2 +- .../testsuite/19_diagnostics/stacktrace/entry.cc | 2 +- .../testsuite/19_diagnostics/stacktrace/output.cc | 58 ++ .../19_diagnostics/stacktrace/stacktrace.cc | 2 +- .../19_diagnostics/stacktrace/synopsis.cc | 3 + .../testsuite/19_diagnostics/stacktrace/version.cc | 6 + .../vector/debug/assign4_backtrace_neg.cc | 2 +- .../27_io/filesystem/path/concat/94063.cc | 2 +- .../testsuite/30_threads/thread/id/hash.cc | 2 - .../testsuite/30_threads/thread/id/operators.cc | 1 - .../30_threads/thread/id/operators_c++20.cc | 1 - .../testsuite/30_threads/thread/id/output.cc | 103 +++ libstdc++-v3/testsuite/Makefile.am | 2 +- libstdc++-v3/testsuite/Makefile.in | 2 +- libstdc++-v3/testsuite/config/default.exp | 4 +- libstdc++-v3/testsuite/lib/dg-options.exp | 4 +- libstdc++-v3/testsuite/lib/libstdc++.exp | 8 +- libstdc++-v3/testsuite/lib/prune.exp | 4 +- libstdc++-v3/testsuite/libstdc++-abi/abi.exp | 6 +- .../testsuite/libstdc++-dg/conformance.exp | 15 +- .../libstdc++-prettyprinters/prettyprinters.exp | 4 +- .../testsuite/libstdc++-xmethods/xmethods.exp | 4 +- 308 files changed, 7310 insertions(+), 1206 deletions(-)