https://gcc.gnu.org/g:fb877b22a6c0452c0579337be680c419770c5acd
commit fb877b22a6c0452c0579337be680c419770c5acd Merge: 2f01bd9787dc 979d5bffe766 Author: Tobias Burnus <tbur...@baylibre.com> Date: Thu Jan 2 09:45:33 2025 +0100 Merge branch 'releases/gcc-14' into devel/omp/gcc-14 Merge up to r14-11123-g979d5bffe76640 (2nd Jan 2025) Diff: gcc/ChangeLog | 1510 ++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 1 + gcc/ada/ChangeLog | 105 + gcc/ada/checks.adb | 10 +- gcc/ada/exp_aggr.adb | 53 +- gcc/ada/exp_aggr.ads | 4 + gcc/ada/exp_ch3.adb | 15 +- gcc/ada/exp_ch7.adb | 6 + gcc/ada/exp_put_image.adb | 3 +- gcc/ada/exp_util.adb | 1 + gcc/ada/freeze.adb | 26 +- gcc/ada/gcc-interface/trans.cc | 16 +- gcc/ada/gnatvsn.ads | 3 +- gcc/ada/libgnat/a-ngrear.adb | 24 +- gcc/ada/par-ch6.adb | 1 + gcc/ada/sem_ch12.adb | 6 +- gcc/ada/sem_res.adb | 2 +- gcc/ada/version.c | 5 +- gcc/analyzer/ChangeLog | 43 + gcc/analyzer/analyzer.cc | 15 +- gcc/analyzer/analyzer.h | 4 +- gcc/analyzer/engine.cc | 2 +- gcc/analyzer/kf.cc | 26 + gcc/analyzer/known-function-manager.cc | 38 +- gcc/analyzer/known-function-manager.h | 5 + gcc/analyzer/sm-file.cc | 8 + gcc/analyzer/sm-malloc.cc | 1 + gcc/analyzer/sm-signal.cc | 11 +- gcc/asan.cc | 14 +- gcc/c-family/ChangeLog | 15 + gcc/c-family/c-cppbuiltin.cc | 6 +- gcc/c-family/c-warn.cc | 20 +- gcc/c/ChangeLog | 9 + gcc/c/c-typeck.cc | 5 +- gcc/cfgexpand.cc | 7 +- gcc/cgraph.cc | 7 +- gcc/common/config/i386/cpuinfo.h | 1 + gcc/common/config/i386/i386-common.cc | 46 +- gcc/config/aarch64/aarch64-builtins.cc | 190 +- gcc/config/aarch64/aarch64-cores.def | 7 + gcc/config/aarch64/aarch64-ldp-fusion.cc | 127 +- gcc/config/aarch64/aarch64-protos.h | 2 + gcc/config/aarch64/aarch64-sve-builtins-base.cc | 11 +- gcc/config/aarch64/aarch64-sve-builtins-base.def | 13 +- gcc/config/aarch64/aarch64-sve-builtins-sve2.cc | 8 +- gcc/config/aarch64/aarch64-sve-builtins-sve2.def | 4 +- gcc/config/aarch64/aarch64-sve-builtins-sve2.h | 4 +- gcc/config/aarch64/aarch64-sve-builtins.cc | 107 +- gcc/config/aarch64/aarch64-sve2.md | 8 +- gcc/config/aarch64/aarch64-tune.md | 2 +- gcc/config/aarch64/aarch64.cc | 15 +- gcc/config/aarch64/arm_acle.h | 61 +- gcc/config/aarch64/tuning_models/fujitsu_monaka.h | 65 + gcc/config/arm/arm-mve-builtins.cc | 7 + gcc/config/arm/arm-protos.h | 1 + gcc/config/arm/arm.cc | 24 + gcc/config/arm/arm_mve.h | 4 + gcc/config/arm/arm_mve_types.h | 4 + gcc/config/arm/constraints.md | 8 +- gcc/config/arm/predicates.md | 4 + gcc/config/arm/sync.md | 2 +- gcc/config/avr/avr.cc | 172 +- gcc/config/avr/avr.md | 7 +- gcc/config/darwin.h | 4 + gcc/config/darwin.opt | 4 + gcc/config/i386/cmpccxaddintrin.h | 6 +- gcc/config/i386/i386-builtin.def | 26 +- gcc/config/i386/i386-expand.cc | 40 +- gcc/config/i386/i386.cc | 79 +- gcc/config/i386/i386.h | 42 +- gcc/config/i386/i386.md | 2 +- gcc/config/i386/mmx.md | 92 +- gcc/config/i386/sse.md | 520 +- gcc/config/i386/subst.md | 3 + gcc/config/i386/x86-tune-costs.h | 23 +- gcc/config/i386/x86-tune-sched.cc | 67 +- gcc/config/i386/x86-tune.def | 47 +- gcc/config/loongarch/lasx.md | 2 +- gcc/config/loongarch/lasxintrin.h | 4 +- gcc/config/loongarch/loongarch-builtins.cc | 4 +- gcc/config/loongarch/lsx.md | 2 +- gcc/config/loongarch/lsxintrin.h | 4 +- gcc/config/nvptx/nvptx.cc | 2 +- gcc/config/pa/pa.cc | 1 + gcc/config/pa/pa.h | 3 + gcc/config/pa/pa.md | 120 +- gcc/config/pa/predicates.md | 2 +- gcc/config/riscv/riscv-c.cc | 7 +- gcc/config/rs6000/amo.h | 2 +- gcc/config/rs6000/rs6000-logue.cc | 5 + gcc/config/rs6000/rs6000-p8swap.cc | 8 +- gcc/config/rs6000/rs6000.cc | 4 - gcc/config/rs6000/rs6000.h | 2 + gcc/config/s390/s390-protos.h | 1 - gcc/config/s390/s390.cc | 66 +- gcc/config/s390/s390.md | 15 +- gcc/config/s390/vector.md | 75 +- gcc/config/v850/v850.opt.urls | 81 +- gcc/config/vax/vax.opt.urls | 21 +- gcc/cp/ChangeLog | 222 + gcc/cp/call.cc | 57 +- gcc/cp/constexpr.cc | 7 + gcc/cp/cp-tree.h | 8 +- gcc/cp/decl.cc | 5 +- gcc/cp/decl2.cc | 3 +- gcc/cp/init.cc | 4 +- gcc/cp/logic.cc | 68 +- gcc/cp/method.cc | 6 + gcc/cp/optimize.cc | 6 + gcc/cp/pt.cc | 68 +- gcc/cp/semantics.cc | 11 +- gcc/cp/tree.cc | 15 +- gcc/cp/typeck.cc | 27 +- gcc/cp/typeck2.cc | 14 +- gcc/cselib.cc | 5 + gcc/diagnostic-format-sarif.cc | 90 +- gcc/doc/gm2.texi | 32 +- gcc/doc/install.texi | 12 +- gcc/doc/invoke.texi | 273 +- gcc/except.cc | 6 +- gcc/expr.cc | 4 +- gcc/fold-const.cc | 51 +- gcc/fortran/ChangeLog | 197 + gcc/fortran/class.cc | 22 +- gcc/fortran/decl.cc | 7 +- gcc/fortran/match.h | 2 +- gcc/fortran/primary.cc | 8 +- gcc/fortran/resolve.cc | 220 +- gcc/fortran/simplify.cc | 75 + gcc/fortran/trans-array.cc | 45 +- gcc/fortran/trans-decl.cc | 3 +- gcc/fortran/trans-expr.cc | 142 +- gcc/fortran/trans-io.cc | 22 + gcc/function.cc | 2 + gcc/genautomata.cc | 3 +- gcc/gimple-expr.cc | 16 +- gcc/gimple-lower-bitint.cc | 4 +- gcc/gimple-range-cache.cc | 21 +- gcc/gimple-range-edge.cc | 10 +- gcc/gimple-range-fold.cc | 20 - gcc/gimple-range-fold.h | 14 + gcc/gimple-range.cc | 188 - gcc/gimple-range.h | 17 - gcc/gimple-ssa-isolate-paths.cc | 23 +- gcc/gimple-ssa-strength-reduction.cc | 6 +- gcc/gimple-ssa-warn-access.cc | 3 +- gcc/gimplify.cc | 10 +- gcc/hwint.h | 26 + gcc/ipa-modref.cc | 43 +- gcc/ipa-visibility.cc | 5 +- gcc/lra-constraints.cc | 30 +- gcc/lto-cgraph.cc | 3 +- gcc/m2/ChangeLog | 2109 +++ gcc/m2/Make-lang.in | 168 +- gcc/m2/Make-maintainer.in | 532 +- gcc/m2/gm2-compiler/M2ALU.def | 28 +- gcc/m2/gm2-compiler/M2ALU.mod | 122 +- gcc/m2/gm2-compiler/M2Base.def | 105 +- gcc/m2/gm2-compiler/M2Base.mod | 211 +- gcc/m2/gm2-compiler/M2BasicBlock.def | 34 +- gcc/m2/gm2-compiler/M2BasicBlock.mod | 129 +- gcc/m2/gm2-compiler/M2Bitset.mod | 1 - gcc/m2/gm2-compiler/M2CaseList.mod | 176 +- gcc/m2/gm2-compiler/M2Check.mod | 164 +- gcc/m2/gm2-compiler/M2Code.mod | 7 +- gcc/m2/gm2-compiler/M2Comp.mod | 12 +- gcc/m2/gm2-compiler/M2Emit.def | 2 +- gcc/m2/gm2-compiler/M2Error.def | 19 - gcc/m2/gm2-compiler/M2GCCDeclare.def | 11 +- gcc/m2/gm2-compiler/M2GCCDeclare.mod | 604 +- gcc/m2/gm2-compiler/M2GenGCC.def | 20 +- gcc/m2/gm2-compiler/M2GenGCC.mod | 959 +- gcc/m2/gm2-compiler/M2LangDump.def | 4 +- gcc/m2/gm2-compiler/M2LangDump.mod | 4 +- gcc/m2/gm2-compiler/M2LexBuf.def | 13 +- gcc/m2/gm2-compiler/M2LexBuf.mod | 23 +- gcc/m2/gm2-compiler/M2MetaError.def | 46 +- gcc/m2/gm2-compiler/M2MetaError.mod | 357 +- gcc/m2/gm2-compiler/M2Options.def | 19 +- gcc/m2/gm2-compiler/M2Options.mod | 27 +- gcc/m2/gm2-compiler/M2Quads.def | 30 +- gcc/m2/gm2-compiler/M2Quads.mod | 768 +- gcc/m2/gm2-compiler/M2Range.def | 26 +- gcc/m2/gm2-compiler/M2Range.mod | 116 +- gcc/m2/gm2-compiler/M2Reserved.def | 8 +- gcc/m2/gm2-compiler/M2Reserved.mod | 3 + gcc/m2/gm2-compiler/M2Scaffold.mod | 24 +- gcc/m2/gm2-compiler/M2Size.mod | 10 +- gcc/m2/gm2-compiler/M2StackAddress.mod | 11 +- gcc/m2/gm2-compiler/M2StateCheck.def | 154 + gcc/m2/gm2-compiler/M2StateCheck.mod | 344 + gcc/m2/gm2-compiler/M2Students.def | 8 +- gcc/m2/gm2-compiler/M2Students.mod | 8 +- gcc/m2/gm2-compiler/M2Swig.mod | 53 +- gcc/m2/gm2-compiler/M2SymInit.mod | 60 +- gcc/m2/gm2-compiler/M2System.def | 2 +- gcc/m2/gm2-compiler/M2System.mod | 62 +- gcc/m2/gm2-compiler/P0SymBuild.def | 7 + gcc/m2/gm2-compiler/P0SymBuild.mod | 16 +- gcc/m2/gm2-compiler/P0SyntaxCheck.bnf | 39 +- gcc/m2/gm2-compiler/P1Build.bnf | 20 +- gcc/m2/gm2-compiler/P1SymBuild.def | 46 +- gcc/m2/gm2-compiler/P1SymBuild.mod | 102 +- gcc/m2/gm2-compiler/P2Build.bnf | 62 +- gcc/m2/gm2-compiler/P2SymBuild.def | 98 +- gcc/m2/gm2-compiler/P2SymBuild.mod | 990 +- gcc/m2/gm2-compiler/P3Build.bnf | 100 +- gcc/m2/gm2-compiler/P3SymBuild.def | 34 +- gcc/m2/gm2-compiler/P3SymBuild.mod | 27 +- gcc/m2/gm2-compiler/PCBuild.bnf | 98 +- gcc/m2/gm2-compiler/PCSymBuild.def | 57 +- gcc/m2/gm2-compiler/PCSymBuild.mod | 48 +- gcc/m2/gm2-compiler/PHBuild.bnf | 31 +- gcc/m2/gm2-compiler/SymbolConversion.def | 8 +- gcc/m2/gm2-compiler/SymbolConversion.mod | 24 +- gcc/m2/gm2-compiler/SymbolTable.def | 325 +- gcc/m2/gm2-compiler/SymbolTable.mod | 1512 +- gcc/m2/gm2-compiler/m2flex.def | 2 +- gcc/m2/gm2-compiler/ppg.mod | 1 + gcc/m2/gm2-gcc/CDataTypes.def | 33 + gcc/m2/gm2-gcc/gcctypes.def | 36 + gcc/m2/gm2-gcc/init.cc | 4 + gcc/m2/gm2-gcc/init.def | 4 +- gcc/m2/gm2-gcc/m2block.def | 42 +- gcc/m2/gm2-gcc/m2builtins.cc | 61 +- gcc/m2/gm2-gcc/m2builtins.def | 39 +- gcc/m2/gm2-gcc/m2color.cc | 6 +- gcc/m2/gm2-gcc/m2color.h | 2 +- gcc/m2/gm2-gcc/m2convert.def | 21 +- gcc/m2/gm2-gcc/m2decl.cc | 2 +- gcc/m2/gm2-gcc/m2decl.def | 44 +- gcc/m2/gm2-gcc/m2decl.h | 2 +- gcc/m2/gm2-gcc/m2except.def | 13 +- gcc/m2/gm2-gcc/m2expr.def | 228 +- gcc/m2/gm2-gcc/m2linemap.cc | 2 +- gcc/m2/gm2-gcc/m2linemap.def | 8 +- gcc/m2/gm2-gcc/m2misc.def | 7 +- gcc/m2/gm2-gcc/m2pp.def | 4 +- gcc/m2/gm2-gcc/m2statement.cc | 2 +- gcc/m2/gm2-gcc/m2statement.def | 72 +- gcc/m2/gm2-gcc/m2statement.h | 2 +- gcc/m2/gm2-gcc/m2tree.def | 26 +- gcc/m2/gm2-gcc/m2treelib.def | 23 +- gcc/m2/gm2-gcc/m2type.cc | 30 +- gcc/m2/gm2-gcc/m2type.def | 269 +- gcc/m2/gm2-gcc/m2type.h | 7 - gcc/m2/gm2-lang.cc | 5 +- gcc/m2/gm2-lang.h | 6 +- gcc/m2/gm2-libs-ch/SysExceptions.c | 107 +- gcc/m2/gm2-libs-ch/UnixArgs.cc | 14 +- gcc/m2/gm2-libs-ch/dtoa.cc | 4 +- gcc/m2/gm2-libs-ch/ldtoa.cc | 10 +- gcc/m2/gm2-libs-ch/m2rts.h | 30 +- gcc/m2/gm2-libs-ch/termios.c | 240 +- gcc/m2/gm2-libs-coroutines/SYSTEM.mod | 4 +- gcc/m2/gm2-libs-iso/EXCEPTIONS.mod | 3 +- gcc/m2/gm2-libs-iso/IOChan.mod | 15 +- gcc/m2/gm2-libs-iso/IOLink.mod | 3 +- gcc/m2/gm2-libs-iso/LongConv.mod | 3 +- gcc/m2/gm2-libs-iso/M2EXCEPTION.mod | 3 +- gcc/m2/gm2-libs-iso/RealConv.mod | 3 +- gcc/m2/gm2-libs-iso/RndFile.mod | 15 +- gcc/m2/gm2-libs-iso/ShortConv.mod | 3 +- gcc/m2/gm2-libs-iso/StdChans.mod | 24 +- gcc/m2/gm2-libs-iso/TermFile.mod | 2 +- gcc/m2/gm2-libs-iso/TextIO.mod | 13 +- gcc/m2/gm2-libs-iso/TextUtil.def | 6 +- gcc/m2/gm2-libs-iso/TextUtil.mod | 6 +- gcc/m2/gm2-libs-iso/WholeConv.mod | 6 +- gcc/m2/gm2-libs-log/FileSystem.def | 2 +- gcc/m2/gm2-libs-min/M2RTS.mod | 2 + gcc/m2/gm2-libs/M2RTS.mod | 10 +- gcc/m2/gm2-libs/dtoa.def | 2 +- gcc/m2/gm2-libs/ldtoa.def | 2 +- gcc/m2/gm2-libs/libc.def | 2 +- gcc/m2/gm2spec.cc | 4 +- gcc/m2/images/LICENSE.IMG | 5 +- gcc/m2/m2-tree.def | 5 +- gcc/m2/m2.flex | 2 + gcc/m2/mc-boot-ch/GSYSTEM.c | 4 +- gcc/m2/mc-boot-ch/GSYSTEM.h | 113 + gcc/m2/mc-boot-ch/GSelective.c | 2 +- gcc/m2/mc-boot-ch/GSysExceptions.c | 88 +- gcc/m2/mc-boot-ch/GSysExceptions.h | 63 + gcc/m2/mc-boot-ch/Gdtoa.cc | 14 +- gcc/m2/mc-boot-ch/Gerrno.cc | 4 +- gcc/m2/mc-boot-ch/Gldtoa.cc | 18 +- gcc/m2/mc-boot-ch/Glibc.c | 60 +- gcc/m2/mc-boot-ch/Gm2rtsdummy.cc | 25 +- gcc/m2/mc-boot-ch/Gtermios.cc | 828 +- gcc/m2/mc-boot-ch/Gtermios.h | 208 + gcc/m2/mc-boot-ch/m2rts.h | 7 +- gcc/m2/mc-boot/GASCII.cc | 6 +- gcc/m2/mc-boot/GArgs.cc | 10 +- gcc/m2/mc-boot/GAssertion.cc | 6 +- gcc/m2/mc-boot/GBreak.cc | 6 +- gcc/m2/mc-boot/GCmdArgs.cc | 10 +- gcc/m2/mc-boot/GDebug.cc | 6 +- gcc/m2/mc-boot/GDynamicStrings.cc | 522 +- gcc/m2/mc-boot/GDynamicStrings.h | 17 +- gcc/m2/mc-boot/GEnvironment.cc | 14 +- gcc/m2/mc-boot/GFIO.cc | 59 +- gcc/m2/mc-boot/GFormatStrings.cc | 8 +- gcc/m2/mc-boot/GFpuIO.cc | 6 +- gcc/m2/mc-boot/GIO.cc | 14 +- gcc/m2/mc-boot/GIndexing.cc | 100 +- gcc/m2/mc-boot/GM2Dependent.cc | 47 +- gcc/m2/mc-boot/GM2EXCEPTION.cc | 10 +- gcc/m2/mc-boot/GM2RTS.cc | 11 +- gcc/m2/mc-boot/GMemUtils.cc | 6 +- gcc/m2/mc-boot/GNumberIO.cc | 40 +- gcc/m2/mc-boot/GPushBackInput.cc | 6 +- gcc/m2/mc-boot/GRTExceptions.cc | 111 +- gcc/m2/mc-boot/GRTint.cc | 15 +- gcc/m2/mc-boot/GSArgs.cc | 8 +- gcc/m2/mc-boot/GSFIO.cc | 6 +- gcc/m2/mc-boot/GStdIO.cc | 12 +- gcc/m2/mc-boot/GStorage.cc | 6 +- gcc/m2/mc-boot/GStrCase.cc | 14 +- gcc/m2/mc-boot/GStrIO.cc | 18 +- gcc/m2/mc-boot/GStrLib.cc | 18 +- gcc/m2/mc-boot/GStringConvert.cc | 10 +- gcc/m2/mc-boot/GSysStorage.cc | 10 +- gcc/m2/mc-boot/GTimeString.cc | 10 +- gcc/m2/mc-boot/Galists.cc | 132 +- gcc/m2/mc-boot/Galists.h | 6 + gcc/m2/mc-boot/Gdecl.cc | 16015 ++++++++++--------- gcc/m2/mc-boot/Gdecl.h | 25 + gcc/m2/mc-boot/Gdtoa.h | 2 +- gcc/m2/mc-boot/Gkeyc.cc | 81 +- gcc/m2/mc-boot/Gkeyc.h | 12 + gcc/m2/mc-boot/Gldtoa.h | 2 +- gcc/m2/mc-boot/Glibc.h | 15 +- gcc/m2/mc-boot/Glists.cc | 96 +- gcc/m2/mc-boot/GmcComment.cc | 54 +- gcc/m2/mc-boot/GmcComp.cc | 18 +- gcc/m2/mc-boot/GmcDebug.cc | 12 +- gcc/m2/mc-boot/GmcError.cc | 138 +- gcc/m2/mc-boot/GmcFileName.cc | 12 +- gcc/m2/mc-boot/GmcLexBuf.cc | 16 +- gcc/m2/mc-boot/GmcMetaError.cc | 16 +- gcc/m2/mc-boot/GmcOptions.cc | 16 +- gcc/m2/mc-boot/GmcPreprocess.cc | 16 +- gcc/m2/mc-boot/GmcPretty.cc | 127 +- gcc/m2/mc-boot/GmcPrintf.cc | 16 +- gcc/m2/mc-boot/GmcQuiet.cc | 12 +- gcc/m2/mc-boot/GmcReserved.cc | 15 +- gcc/m2/mc-boot/GmcSearch.cc | 12 +- gcc/m2/mc-boot/GmcStack.cc | 45 +- gcc/m2/mc-boot/GmcStream.cc | 10 +- gcc/m2/mc-boot/Gmcp1.cc | 22 +- gcc/m2/mc-boot/Gmcp2.cc | 6 +- gcc/m2/mc-boot/Gmcp3.cc | 10 +- gcc/m2/mc-boot/Gmcp4.cc | 10 +- gcc/m2/mc-boot/Gmcp5.cc | 18 +- gcc/m2/mc-boot/GnameKey.cc | 18 +- gcc/m2/mc-boot/GsymbolKey.cc | 76 +- gcc/m2/mc-boot/Gvarargs.cc | 104 +- gcc/m2/mc-boot/Gwlists.cc | 95 +- gcc/m2/mc/Indexing.mod | 7 +- gcc/m2/mc/alists.def | 7 + gcc/m2/mc/alists.mod | 28 + gcc/m2/mc/decl.def | 29 + gcc/m2/mc/decl.mod | 2188 ++- gcc/m2/mc/keyc.def | 14 + gcc/m2/mc/keyc.mod | 48 +- gcc/m2/mc/lists.mod | 7 +- gcc/m2/mc/mc.flex | 15 +- gcc/m2/mc/mcComment.h | 4 +- gcc/m2/mc/mcComp.mod | 6 +- gcc/m2/mc/mcDebug.mod | 6 +- gcc/m2/mc/mcFileName.mod | 6 +- gcc/m2/mc/mcMetaError.mod | 6 +- gcc/m2/mc/mcOptions.mod | 10 +- gcc/m2/mc/mcPreprocess.mod | 6 +- gcc/m2/mc/mcPretty.mod | 7 +- gcc/m2/mc/mcPrintf.mod | 6 +- gcc/m2/mc/mcQuiet.mod | 6 +- gcc/m2/mc/mcReserved.mod | 7 +- gcc/m2/mc/mcSearch.mod | 6 +- gcc/m2/mc/mcStack.mod | 7 +- gcc/m2/mc/mcp1.bnf | 9 +- gcc/m2/pge-boot/GDynamicStrings.cc | 519 +- gcc/m2/pge-boot/GDynamicStrings.h | 17 +- gcc/m2/pge-boot/GM2RTS.cc | 79 +- gcc/m2/pge-boot/GSymbolKey.cc | 93 +- gcc/m2/pge-boot/GSysExceptions.cc | 92 +- gcc/m2/pge-boot/GUnixArgs.cc | 4 +- gcc/m2/pge-boot/Gerrno.cc | 4 +- gcc/m2/pge-boot/Gldtoa.cc | 8 +- gcc/m2/pge-boot/Gldtoa.h | 2 +- gcc/m2/pge-boot/Glibc.cc | 32 +- gcc/m2/pge-boot/Glibc.h | 4 +- gcc/m2/pge-boot/Gpge.cc | 563 +- gcc/m2/pge-boot/Gtermios.cc | 830 +- gcc/m2/pge-boot/m2rts.h | 27 +- gcc/m2/tools-src/buildpg | 5 +- gcc/m2/tools-src/calcpath | 6 +- gcc/m2/tools-src/checkmeta.py | 5 +- gcc/m2/tools-src/def2doc.py | 5 +- gcc/m2/tools-src/makeSystem | 6 +- gcc/m2/tools-src/tidydates.py | 5 +- gcc/match.pd | 59 +- gcc/opts-common.cc | 10 +- gcc/po/ChangeLog | 12 + gcc/po/uk.po | 3876 ++--- gcc/po/zh_CN.po | 958 +- gcc/pointer-query.cc | 11 + gcc/range-op.cc | 13 + gcc/regenerate-opt-urls.py | 4 +- gcc/reorg.cc | 38 +- gcc/testsuite/ChangeLog | 1847 +++ .../c-c++-common/Wsizeof-pointer-memaccess5.c | 29 + .../c-c++-common/analyzer/error-pr115724.c | 86 + .../analyzer/fd-glibc-byte-stream-socket.c | 4 + .../analyzer/fd-manpage-getaddrinfo-client.c | 4 + ...fo-server.c => fd-manpage-getaddrinfo-server.c} | 4 + .../c-c++-common/analyzer/fd-socket-meaning.c | 4 + .../c-c++-common/analyzer/fd-symbolic-socket.c | 4 + .../analyzer/flexible-array-member-1.c | 6 +- gcc/testsuite/c-c++-common/analyzer/pr106539.c | 2 +- .../c-c++-common/raw-string-directive-3.c | 8 + .../c-c++-common/raw-string-directive-4.c | 8 + gcc/testsuite/g++.dg/asan/pr117845-2.C | 12 + gcc/testsuite/g++.dg/asan/pr117845.C | 12 + gcc/testsuite/g++.dg/cpp0x/initlist-opt2.C | 21 + gcc/testsuite/g++.dg/cpp1z/constexpr-116676.C | 57 + gcc/testsuite/g++.dg/cpp1z/eval-order13.C | 29 + gcc/testsuite/g++.dg/cpp1z/nontype6.C | 24 + gcc/testsuite/g++.dg/cpp1z/nontype6a.C | 25 + gcc/testsuite/g++.dg/cpp23/attr-assume-opt.C | 37 +- .../g++.dg/cpp23/class-deduction-inherited4.C | 4 +- .../g++.dg/cpp23/class-deduction-inherited5.C | 25 + .../g++.dg/cpp23/class-deduction-inherited6.C | 46 + gcc/testsuite/g++.dg/cpp23/pr117287-attr.C | 38 + .../g++.dg/cpp2a/concepts-inherit-ctor12.C | 16 + gcc/testsuite/g++.dg/cpp2a/constexpr-virtual22.C | 22 + gcc/testsuite/g++.dg/cpp2a/decomp10.C | 21 + gcc/testsuite/g++.dg/cpp2a/lambda-targ7.C | 42 + gcc/testsuite/g++.dg/cpp2a/lambda-targ9.C | 16 + gcc/testsuite/g++.dg/cpp2a/paren-init38.C | 20 + gcc/testsuite/g++.dg/diagnostic/aggr-init1.C | 37 + gcc/testsuite/g++.dg/eh/pr84968.C | 4 +- gcc/testsuite/g++.dg/ext/attr-no-dangling6.C | 28 +- gcc/testsuite/g++.dg/ext/attr-no-dangling7.C | 14 +- gcc/testsuite/g++.dg/ext/attr-no-dangling8.C | 2 + gcc/testsuite/g++.dg/ext/attr-no-dangling9.C | 1 + gcc/testsuite/g++.dg/ext/attr-unavailable-13.C | 8 + gcc/testsuite/g++.dg/ext/stmtexpr26.C | 10 + gcc/testsuite/g++.dg/init/array62.C | 2 +- gcc/testsuite/g++.dg/init/array63.C | 2 +- gcc/testsuite/g++.dg/init/array64.C | 2 +- gcc/testsuite/g++.dg/lto/pr107467_0.C | 52 + gcc/testsuite/g++.dg/modules/enum-14.C | 6 + gcc/testsuite/g++.dg/modules/linkage-1_a.C | 4 - gcc/testsuite/g++.dg/modules/linkage-1_b.C | 1 - gcc/testsuite/g++.dg/modules/linkage-1_c.C | 1 - gcc/testsuite/g++.dg/modules/linkage-2.C | 6 + gcc/testsuite/g++.dg/parse/crash77.C | 13 + gcc/testsuite/g++.dg/template/access42.C | 17 + gcc/testsuite/g++.dg/template/ttp44.C | 13 + gcc/testsuite/g++.dg/torture/pr116460.C | 609 + gcc/testsuite/g++.dg/torture/pr116783.C | 98 + gcc/testsuite/g++.dg/torture/pr81812.C | 2 + gcc/testsuite/g++.dg/ubsan/pr116449.C | 14 + gcc/testsuite/g++.dg/ubsan/pr117259.C | 13 + gcc/testsuite/g++.dg/vect/pr115278.cc | 2 +- gcc/testsuite/g++.dg/vect/pr84556.cc | 2 +- gcc/testsuite/g++.dg/warn/Wdangling-reference1.C | 1 + gcc/testsuite/g++.dg/warn/Wdangling-reference2.C | 2 +- gcc/testsuite/g++.dg/warn/Wdangling-reference22.C | 19 + gcc/testsuite/g++.dg/warn/Wdangling-reference23.C | 14 + gcc/testsuite/g++.dg/warn/Wdangling-reference3.C | 1 + gcc/testsuite/g++.dg/warn/Wduplicated-branches8.C | 17 + gcc/testsuite/g++.dg/warn/Wtautological-compare4.C | 21 + gcc/testsuite/g++.dg/warn/deprecated-19.C | 22 + gcc/testsuite/g++.dg/warn/deprecated-20.C | 16 + .../g++.target/aarch64/sve/aarch64-ssve.exp | 6 + .../g++.target/arm/mve/general-c++/nomve_fp_1.c | 2 + gcc/testsuite/g++.target/riscv/rvv/base/pr116883.C | 15 + gcc/testsuite/gcc.c-torture/execute/20241029-1.c | 23 + .../gcc.c-torture/{ => execute}/pr111613.c | 0 .../analyzer/malloc-ipa-8-unchecked.c | 46 +- .../{c-c++-common => gcc.dg}/analyzer/signal-4a.c | 53 +- .../{c-c++-common => gcc.dg}/analyzer/signal-4b.c | 65 +- gcc/testsuite/gcc.dg/asan/pr117209.c | 15 + gcc/testsuite/gcc.dg/bitint-110.c | 20 + gcc/testsuite/gcc.dg/bitint-111.c | 16 + gcc/testsuite/gcc.dg/bitint-113.c | 40 + gcc/testsuite/gcc.dg/ipa/modref-4.c | 34 + gcc/testsuite/gcc.dg/lto/pr115815_0.c | 22 + gcc/testsuite/gcc.dg/pr115426.c | 14 + gcc/testsuite/gcc.dg/pr116290.c | 18 + gcc/testsuite/gcc.dg/pr116481.c | 13 + gcc/testsuite/gcc.dg/pr116726.c | 18 + gcc/testsuite/gcc.dg/pr116850.c | 12 + gcc/testsuite/gcc.dg/pr116879.c | 15 + gcc/testsuite/gcc.dg/pr116891.c | 47 + gcc/testsuite/gcc.dg/pr117104.c | 12 + gcc/testsuite/gcc.dg/pr117254.c | 10 + gcc/testsuite/gcc.dg/pr117398.c | 17 + gcc/testsuite/gcc.dg/pr117433.c | 21 + gcc/testsuite/gcc.dg/signbit-5.c | 6 +- gcc/testsuite/gcc.dg/torture/bitint-73.c | 20 + gcc/testsuite/gcc.dg/torture/pr112305.c | 1 + gcc/testsuite/gcc.dg/torture/pr115641.c | 29 + gcc/testsuite/gcc.dg/torture/pr116380.c | 16 + gcc/testsuite/gcc.dg/torture/pr116454-1.c | 16 + gcc/testsuite/gcc.dg/torture/pr116454-2.c | 12 + gcc/testsuite/gcc.dg/torture/pr116585.c | 32 + gcc/testsuite/gcc.dg/torture/pr116768.c | 32 + gcc/testsuite/gcc.dg/torture/pr117041.c | 10 + gcc/testsuite/gcc.dg/torture/pr117086.c | 12 + gcc/testsuite/gcc.dg/torture/pr117333.c | 29 + gcc/testsuite/gcc.dg/torture/pr117417.c | 16 + gcc/testsuite/gcc.dg/torture/pr117574-1.c | 20 + gcc/testsuite/gcc.dg/tree-ssa/pr117142.c | 14 + gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c | 2 +- gcc/testsuite/gcc.dg/vect/pr116997.c | 18 + gcc/testsuite/gcc.dg/vect/pr117307.c | 17 + gcc/testsuite/gcc.dg/vect/pr117594.c | 20 + gcc/testsuite/gcc.dg/vect/vect-fncall-mask.c | 31 + .../gcc.target/aarch64/acle/ls64_guard-1.c | 9 + .../gcc.target/aarch64/acle/ls64_guard-2.c | 10 + .../gcc.target/aarch64/acle/ls64_guard-3.c | 9 + .../gcc.target/aarch64/acle/ls64_guard-4.c | 10 + .../gcc.target/aarch64/acle/memtag_guard-1.c | 9 + .../gcc.target/aarch64/acle/memtag_guard-2.c | 10 + .../gcc.target/aarch64/acle/memtag_guard-3.c | 9 + .../gcc.target/aarch64/acle/memtag_guard-4.c | 10 + .../gcc.target/aarch64/acle/tme_guard-1.c | 9 + .../gcc.target/aarch64/acle/tme_guard-2.c | 10 + .../gcc.target/aarch64/acle/tme_guard-3.c | 9 + .../gcc.target/aarch64/acle/tme_guard-4.c | 10 + gcc/testsuite/gcc.target/aarch64/pr116258.c | 18 + .../aarch64/sme/acle-asm/psel_lane_b16.c | 89 + .../aarch64/sme/acle-asm/psel_lane_b32.c | 89 + .../aarch64/sme/acle-asm/psel_lane_b64.c | 80 + .../gcc.target/aarch64/sme/acle-asm/psel_lane_b8.c | 89 + .../aarch64/sme/acle-asm/psel_lane_c16.c | 89 + .../aarch64/sme/acle-asm/psel_lane_c32.c | 89 + .../aarch64/sme/acle-asm/psel_lane_c64.c | 80 + .../gcc.target/aarch64/sme/acle-asm/psel_lane_c8.c | 89 + gcc/testsuite/gcc.target/aarch64/sme/clamp_3.c | 2 + gcc/testsuite/gcc.target/aarch64/sme/clamp_4.c | 2 + gcc/testsuite/gcc.target/aarch64/sme/clamp_5.c | 24 + .../gcc.target/aarch64/sme2/acle-asm/bfmlslb_f32.c | 60 +- .../gcc.target/aarch64/sme2/acle-asm/pext_c16.c | 50 - .../gcc.target/aarch64/sme2/acle-asm/pext_c16_x2.c | 54 - .../gcc.target/aarch64/sme2/acle-asm/pext_c32.c | 50 - .../gcc.target/aarch64/sme2/acle-asm/pext_c32_x2.c | 54 - .../gcc.target/aarch64/sme2/acle-asm/pext_c64.c | 50 - .../gcc.target/aarch64/sme2/acle-asm/pext_c64_x2.c | 54 - .../gcc.target/aarch64/sme2/acle-asm/pext_c8.c | 50 - .../gcc.target/aarch64/sme2/acle-asm/pext_c8_x2.c | 54 - .../aarch64/sme2/acle-asm/pext_lane_c16.c | 50 + .../aarch64/sme2/acle-asm/pext_lane_c16_x2.c | 54 + .../aarch64/sme2/acle-asm/pext_lane_c32.c | 50 + .../aarch64/sme2/acle-asm/pext_lane_c32_x2.c | 54 + .../aarch64/sme2/acle-asm/pext_lane_c64.c | 50 + .../aarch64/sme2/acle-asm/pext_lane_c64_x2.c | 54 + .../aarch64/sme2/acle-asm/pext_lane_c8.c | 50 + .../aarch64/sme2/acle-asm/pext_lane_c8_x2.c | 54 + .../gcc.target/aarch64/sme2/acle-asm/psel_b16.c | 89 - .../gcc.target/aarch64/sme2/acle-asm/psel_b32.c | 89 - .../gcc.target/aarch64/sme2/acle-asm/psel_b64.c | 80 - .../gcc.target/aarch64/sme2/acle-asm/psel_b8.c | 89 - .../gcc.target/aarch64/sme2/acle-asm/psel_c16.c | 89 - .../gcc.target/aarch64/sme2/acle-asm/psel_c32.c | 89 - .../gcc.target/aarch64/sme2/acle-asm/psel_c64.c | 80 - .../gcc.target/aarch64/sme2/acle-asm/psel_c8.c | 89 - .../gcc.target/aarch64/sve/acle/asm/trn1q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_u8.c | 1 + .../aarch64/sve/acle/general/pr106326_2.c | 200 + .../aarch64/sve/acle/general/whilele_11.c | 31 + .../aarch64/sve/acle/general/whilele_12.c | 34 + .../aarch64/sve/acle/general/whilele_5.c | 2 +- gcc/testsuite/gcc.target/aarch64/sve/pr116238.c | 13 + gcc/testsuite/gcc.target/aarch64/sve/pr116259-1.c | 12 + .../gcc.target/arm/acle/data-intrinsics-assembly.c | 4 +- gcc/testsuite/gcc.target/arm/bti-1.c | 2 +- gcc/testsuite/gcc.target/arm/bti-2.c | 2 +- .../gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c | 4 +- .../gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c | 4 +- .../gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c | 4 +- .../arm/cmse/mainline/8_1m/bitfield-and-union.c | 4 +- .../arm/cmse/mainline/8_1m/hard-sp/cmse-5.c | 15 +- .../arm/cmse/mainline/8_1m/hard/cmse-5.c | 15 +- .../arm/cmse/mainline/8_1m/soft/cmse-5.c | 16 +- .../arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c | 17 +- .../arm/cmse/mainline/8_1m/softfp/cmse-5.c | 16 +- .../gcc.target/arm/cmse/mainline/8_1m/union-2.c | 4 +- .../arm/cmse/mainline/8m/hard-sp/cmse-5.c | 91 +- .../gcc.target/arm/cmse/mainline/8m/hard/cmse-5.c | 71 +- .../gcc.target/arm/cmse/mainline/8m/soft/cmse-5.c | 22 +- .../arm/cmse/mainline/8m/softfp-sp/cmse-5.c | 90 +- .../arm/cmse/mainline/8m/softfp/cmse-5.c | 66 +- gcc/testsuite/gcc.target/arm/epilog-1.c | 26 +- gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c | 53 +- gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c | 31 +- gcc/testsuite/gcc.target/arm/fp16-aapcs-3.c | 54 +- gcc/testsuite/gcc.target/arm/fp16-aapcs-4.c | 31 +- gcc/testsuite/gcc.target/arm/memset-inline-4-exe.c | 7 + gcc/testsuite/gcc.target/arm/memset-inline-4.c | 3 +- gcc/testsuite/gcc.target/arm/memset-inline-5-exe.c | 7 + gcc/testsuite/gcc.target/arm/memset-inline-5.c | 3 +- gcc/testsuite/gcc.target/arm/memset-inline-6-exe.c | 7 + gcc/testsuite/gcc.target/arm/memset-inline-6.c | 3 +- gcc/testsuite/gcc.target/arm/memset-inline-8-exe.c | 7 + gcc/testsuite/gcc.target/arm/memset-inline-8.c | 2 +- gcc/testsuite/gcc.target/arm/memset-inline-9-exe.c | 7 + gcc/testsuite/gcc.target/arm/memset-inline-9.c | 2 +- gcc/testsuite/gcc.target/arm/mve/pr117408-1.c | 7 + gcc/testsuite/gcc.target/arm/mve/pr117408-2.c | 7 + gcc/testsuite/gcc.target/arm/pac-1.c | 4 +- gcc/testsuite/gcc.target/arm/pac-10.c | 4 +- gcc/testsuite/gcc.target/arm/pac-11.c | 4 +- gcc/testsuite/gcc.target/arm/pac-15.c | 2 +- gcc/testsuite/gcc.target/arm/pac-2.c | 4 +- gcc/testsuite/gcc.target/arm/pac-3.c | 4 +- gcc/testsuite/gcc.target/arm/pac-4.c | 2 +- gcc/testsuite/gcc.target/arm/pac-6.c | 6 +- gcc/testsuite/gcc.target/arm/pac-7.c | 4 +- gcc/testsuite/gcc.target/arm/pac-8.c | 4 +- gcc/testsuite/gcc.target/arm/pac-9.c | 4 +- gcc/testsuite/gcc.target/arm/pac-sibcall.c | 2 +- gcc/testsuite/gcc.target/arm/pr117675.c | 17 + gcc/testsuite/gcc.target/arm/pr40457-2.c | 2 +- gcc/testsuite/gcc.target/arm/pr43920-2.c | 4 +- gcc/testsuite/gcc.target/arm/pr51534.c | 3 +- gcc/testsuite/gcc.target/arm/pr68620.c | 8 +- gcc/testsuite/gcc.target/arm/pr78041.c | 3 +- gcc/testsuite/gcc.target/arm/pr98636.c | 4 +- gcc/testsuite/gcc.target/arm/thumb-ifcvt.c | 2 +- .../gcc.target/arm/thumb2-slow-flash-data-3.c | 2 +- .../gcc.target/arm/vect-early-break-cbranch.c | 12 +- gcc/testsuite/gcc.target/avr/torture/pr116953.c | 7 + gcc/testsuite/gcc.target/i386/apx-ppx-2.c | 14 + gcc/testsuite/gcc.target/i386/apx-ppx-3.c | 7 + .../gcc.target/i386/avx256_avoid_vec_perm.c | 22 + .../gcc.target/i386/avx512bw-pr103750-1.c | 3 +- .../gcc.target/i386/avx512bw-pr103750-2.c | 3 +- gcc/testsuite/gcc.target/i386/cmpccxadd-1b.c | 15 + gcc/testsuite/gcc.target/i386/fma-pr116891.c | 19 + gcc/testsuite/gcc.target/i386/pr114942.c | 24 + gcc/testsuite/gcc.target/i386/pr116258.c | 14 + gcc/testsuite/gcc.target/i386/pr116274-2.c | 9 + gcc/testsuite/gcc.target/i386/pr116621.c | 43 + gcc/testsuite/gcc.target/i386/pr116839.c | 48 + gcc/testsuite/gcc.target/i386/pr116921.c | 12 + gcc/testsuite/gcc.target/i386/pr116962.c | 10 + gcc/testsuite/gcc.target/i386/pr117105.c | 15 + gcc/testsuite/gcc.target/i386/pr117116.c | 18 + gcc/testsuite/gcc.target/i386/pr117159.c | 42 + gcc/testsuite/gcc.target/i386/pr117240_avx.c | 10 + gcc/testsuite/gcc.target/i386/pr117240_avx512f.c | 10 + gcc/testsuite/gcc.target/i386/pr117296.c | 12 + gcc/testsuite/gcc.target/i386/pr117304-1.c | 28 + gcc/testsuite/gcc.target/i386/pr117318.c | 12 + gcc/testsuite/gcc.target/i386/pr117357.c | 7 + gcc/testsuite/gcc.target/i386/pr117418-1.c | 24 + gcc/testsuite/gcc.target/i386/pr117926.c | 18 + gcc/testsuite/gcc.target/i386/sse-pr116738.c | 28 + .../gcc.target/i386/sse_movcc_use_blendv.c | 12 + .../loongarch/vector/lasx/lasx-builtin.c | 4 +- .../gcc.target/loongarch/vector/lsx/lsx-builtin.c | 4 +- gcc/testsuite/gcc.target/powerpc/pr114759-1.c | 16 + gcc/testsuite/gcc.target/powerpc/pr116415.c | 42 + gcc/testsuite/gcc.target/s390/ccusage.c | 37 + gcc/testsuite/gcc.target/s390/pr115860-1.c | 26 + .../gcc.target/s390/vector/long-double-asm-abi.c | 2 +- .../gcc.target/s390/vector/long-double-to-i64.c | 2 - gcc/testsuite/gfortran.dg/associate_69.f90 | 18 +- gcc/testsuite/gfortran.dg/associate_70.f90 | 60 + gcc/testsuite/gfortran.dg/assumed_rank_25.f90 | 51 + .../gfortran.dg/bounds_check_array_io.f90 | 31 + gcc/testsuite/gfortran.dg/character_workout_1.f90 | 8 +- gcc/testsuite/gfortran.dg/finalize_58.f90 | 77 + gcc/testsuite/gfortran.dg/finalize_59.f90 | 245 + gcc/testsuite/gfortran.dg/ieee/pr115070.f90 | 28 + gcc/testsuite/gfortran.dg/null_actual_6.f90 | 221 + gcc/testsuite/gfortran.dg/pr100273.f90 | 26 + gcc/testsuite/gfortran.dg/pr109345.f90 | 77 + gcc/testsuite/gfortran.dg/pr115348.f90 | 35 + gcc/testsuite/gfortran.dg/pr117730_a.f90 | 50 + gcc/testsuite/gfortran.dg/pr117730_b.f90 | 47 + gcc/testsuite/gfortran.dg/pr117763.f90 | 279 + gcc/testsuite/gfortran.dg/pr117797.f90 | 55 + gcc/testsuite/gfortran.dg/pr117819.f90 | 45 + gcc/testsuite/gfortran.dg/pr117820.f90 | 10 + gcc/testsuite/gfortran.dg/pr84674.f90 | 55 + gcc/testsuite/gfortran.dg/pr84868.f90 | 84 + gcc/testsuite/gfortran.dg/pr84869.f90 | 25 + gcc/testsuite/gfortran.dg/ptr_func_assign_6.f08 | 89 + gcc/testsuite/gfortran.dg/use_rename_13.f90 | 37 + gcc/testsuite/gm2/base-lang/pass/SYSTEM.def | 197 + gcc/testsuite/gm2/base-lang/pass/base-lang-test.sh | 291 + .../gm2/base-lang/pass/globalproctype.def | 7 + .../gm2/base-lang/pass/globalproctype.mod | 13 + gcc/testsuite/gm2/base-lang/pass/globalvar.def | 3 + gcc/testsuite/gm2/base-lang/pass/globalvar.mod | 6 + .../gm2/base-lang/pass/globalvarassign.def | 3 + .../gm2/base-lang/pass/globalvarassign.mod | 8 + gcc/testsuite/gm2/base-lang/pass/localproctype.def | 3 + gcc/testsuite/gm2/base-lang/pass/localproctype.mod | 16 + gcc/testsuite/gm2/base-lang/pass/localvar.def | 3 + gcc/testsuite/gm2/base-lang/pass/localvar.mod | 11 + .../gm2/base-lang/pass/localvarassign.def | 3 + .../gm2/base-lang/pass/localvarassign.mod | 14 + gcc/testsuite/gm2/base-lang/pass/opaquefield.def | 8 + gcc/testsuite/gm2/base-lang/pass/opaquefield.mod | 19 + gcc/testsuite/gm2/base-lang/pass/opaquenew.def | 8 + gcc/testsuite/gm2/base-lang/pass/opaquenew.mod | 18 + gcc/testsuite/gm2/base-lang/pass/opaqueparam.def | 12 + gcc/testsuite/gm2/base-lang/pass/opaqueparam.mod | 32 + gcc/testsuite/gm2/base-lang/pass/opaquestr.def | 10 + gcc/testsuite/gm2/base-lang/pass/opaqueuse.def | 7 + gcc/testsuite/gm2/base-lang/pass/opaqueuse.mod | 15 + gcc/testsuite/gm2/base-lang/pass/opaqueusestr.def | 9 + gcc/testsuite/gm2/base-lang/pass/opaqueusestr.mod | 27 + gcc/testsuite/gm2/base-lang/pass/opaquevariant.def | 6 + gcc/testsuite/gm2/base-lang/pass/opaquevariant.mod | 26 + .../gm2/base-lang/pass/opaquevarparam.def | 9 + .../gm2/base-lang/pass/opaquevarparam.mod | 16 + gcc/testsuite/gm2/base-lang/pass/simplelist.def | 11 + gcc/testsuite/gm2/base-lang/pass/simplelist.mod | 33 + .../gm2/base-lang/pass/simplelistiter.def | 10 + .../gm2/base-lang/pass/simplelistiter.mod | 30 + gcc/testsuite/gm2/base-lang/pass/simpleopaque.def | 13 + gcc/testsuite/gm2/base-lang/pass/simpleopaque.mod | 32 + gcc/testsuite/gm2/base-lang/pass/straddress.def | 5 + gcc/testsuite/gm2/base-lang/pass/straddress.mod | 16 + .../gm2/base-lang/pass/straddressexport.def | 8 + .../gm2/base-lang/pass/straddressexport.mod | 16 + .../gm2/base-lang/pass/unboundedarray.def | 5 + .../gm2/base-lang/pass/unboundedarray.mod | 8 + gcc/testsuite/gm2/builtins/run/pass/testalloa.mod | 47 + .../gm2/builtins/run/pass/testisnormal.def | 5 + .../gm2/builtins/run/pass/testisnormal.mod | 2 +- gcc/testsuite/gm2/builtins/run/pass/testsinl.def | 5 + gcc/testsuite/gm2/builtins/run/pass/testsinl.mod | 23 + gcc/testsuite/gm2/errors/fail/array1.mod | 5 + gcc/testsuite/gm2/errors/fail/badconst.mod | 19 + gcc/testsuite/gm2/errors/fail/badtype.mod | 10 + gcc/testsuite/gm2/errors/fail/badvar.mod | 10 + gcc/testsuite/gm2/errors/fail/errors-fail.exp | 2 +- gcc/testsuite/gm2/errors/fail/testfio.mod | 8 + gcc/testsuite/gm2/errors/fail/testparam.mod | 5 + gcc/testsuite/gm2/extensions/run/pass/testopen.mod | 2 +- gcc/testsuite/gm2/iso/const/pass/constbool4.mod | 17 + gcc/testsuite/gm2/iso/const/pass/constbool5.mod | 24 + gcc/testsuite/gm2/iso/fail/arraymismatch.mod | 8 + gcc/testsuite/gm2/iso/fail/badexpression3.mod | 11 + gcc/testsuite/gm2/iso/fail/badparam.def | 5 + gcc/testsuite/gm2/iso/fail/badparam.mod | 8 + gcc/testsuite/gm2/iso/fail/badparam2.def | 5 + gcc/testsuite/gm2/iso/fail/badparam2.mod | 7 + gcc/testsuite/gm2/iso/fail/badparam3.def | 5 + gcc/testsuite/gm2/iso/fail/badparam3.mod | 7 + gcc/testsuite/gm2/iso/fail/badparam4.def | 5 + gcc/testsuite/gm2/iso/fail/badparam4.mod | 8 + gcc/testsuite/gm2/iso/fail/badparamarray.def | 5 + gcc/testsuite/gm2/iso/fail/badparamarray.mod | 8 + gcc/testsuite/gm2/iso/fail/forloopbyvar.mod | 16 + gcc/testsuite/gm2/iso/fail/forloopbyvar4.mod | 17 + gcc/testsuite/gm2/iso/fail/forloopbyvar5.mod | 17 + gcc/testsuite/gm2/iso/fail/forloopbyzero.mod | 18 + gcc/testsuite/gm2/iso/fail/simpledef1.def | 6 + gcc/testsuite/gm2/iso/fail/simpledef1.mod | 3 + gcc/testsuite/gm2/iso/fail/simpleforward.mod | 12 + gcc/testsuite/gm2/iso/fail/simpleforward2.mod | 11 + gcc/testsuite/gm2/iso/fail/simpleforward3.mod | 11 + gcc/testsuite/gm2/iso/fail/simpleforward4.mod | 17 + gcc/testsuite/gm2/iso/fail/simpleforward5.mod | 12 + gcc/testsuite/gm2/iso/fail/simpleforward7.mod | 11 + gcc/testsuite/gm2/iso/fail/testarrayunbounded2.mod | 14 + gcc/testsuite/gm2/iso/fail/testarrayunbounded3.mod | 14 + gcc/testsuite/gm2/iso/fail/testarrayunbounded4.mod | 14 + gcc/testsuite/gm2/iso/fail/testarrayunbounded5.mod | 13 + gcc/testsuite/gm2/iso/fail/testarrayunbounded6.mod | 13 + gcc/testsuite/gm2/iso/pass/forloopbyconst.mod | 25 + gcc/testsuite/gm2/iso/pass/forloopbyvar3.mod | 16 + gcc/testsuite/gm2/iso/pass/simpleforward.mod | 13 + gcc/testsuite/gm2/iso/pass/simpleforward6.mod | 14 + gcc/testsuite/gm2/iso/pass/testarrayunbounded.mod | 14 + gcc/testsuite/gm2/iso/run/pass/condtest2.mod | 26 + gcc/testsuite/gm2/iso/run/pass/condtest3.mod | 26 + gcc/testsuite/gm2/iso/run/pass/condtest4.mod | 24 + gcc/testsuite/gm2/iso/run/pass/condtest5.mod | 24 + gcc/testsuite/gm2/iso/run/pass/constbool4.mod | 17 + gcc/testsuite/gm2/isolib/run/pass/openlibc.mod | 2 +- gcc/testsuite/gm2/isolib/run/pass/testinittm.mod | 17 + gcc/testsuite/gm2/isolib/run/pass/testlowread.mod | 9 + gcc/testsuite/gm2/isolib/run/pass/testrestline.mod | 20 + .../gm2/isolib/run/pass/testrestline2.mod | 17 + .../gm2/isolib/run/pass/testrestline3.mod | 16 + .../gm2/isolib/run/pass/testwritereal.mod | 9 + gcc/testsuite/gm2/pim/fail/tinyadr.mod | 12 + gcc/testsuite/gm2/pim/pass/forloopnulchar.mod | 8 + gcc/testsuite/gm2/pim/pass/forward.mod | 14 + gcc/testsuite/gm2/pim/pass/nulcharcase.mod | 16 + gcc/testsuite/gm2/pim/pass/nulcharvar.mod | 7 + gcc/testsuite/gm2/pim/run/pass/testaddr3.mod | 2 +- gcc/testsuite/gnat.dg/aggr31.adb | 17 + gcc/testsuite/gnat.dg/matrix1.adb | 16 + gcc/testsuite/gnat.dg/put_image1.adb | 21 + gcc/testsuite/gnat.dg/specs/array7.ads | 14 + gcc/testsuite/gnat.dg/specs/generic_inst1.ads | 32 + .../gnat.dg/specs/generic_inst2-child1.ads | 17 + .../gnat.dg/specs/generic_inst2-child2.ads | 10 + gcc/testsuite/gnat.dg/specs/generic_inst2.ads | 11 + gcc/testsuite/gnat.dg/specs/vfa3.ads | 25 + .../jit.dg/test-error-pr63969-missing-driver.c | 2 +- gcc/testsuite/lib/sarif-schema-2.1.0.json | 3389 ++++ gcc/testsuite/lib/scansarif.exp | 23 + gcc/testsuite/lib/target-supports.exp | 47 + gcc/toplev.cc | 1 + gcc/tree-assume.cc | 384 + gcc/tree-chrec.cc | 4 +- gcc/tree-data-ref.cc | 15 +- gcc/tree-eh.cc | 8 +- gcc/tree-if-conv.cc | 14 +- gcc/tree-loop-distribution.cc | 9 +- gcc/tree-parloops.cc | 4 +- gcc/tree-sra.cc | 9 + gcc/tree-ssa-alias.cc | 5 +- gcc/tree-ssa-forwprop.cc | 42 +- gcc/tree-ssa-live.cc | 20 + gcc/tree-ssa-loop-ivopts.cc | 5 +- gcc/tree-ssa-loop-niter.cc | 31 +- gcc/tree-ssa-reassoc.cc | 3 +- gcc/tree-ssa-structalias.cc | 3 +- gcc/tree-ssa-threadedge.cc | 30 +- gcc/tree-ssa-threadedge.h | 4 +- gcc/tree-vect-data-refs.cc | 19 +- gcc/tree-vect-generic.cc | 9 +- gcc/tree-vect-loop.cc | 48 +- gcc/tree-vect-slp-patterns.cc | 20 +- gcc/tree-vect-slp.cc | 12 +- gcc/tree-vect-stmts.cc | 6 +- gcc/tree-vectorizer.cc | 3 +- gcc/tree-vectorizer.h | 6 +- gcc/tree-vrp.cc | 68 - gcc/varasm.cc | 55 + gcc/varasm.h | 2 + libcpp/ChangeLog | 15 + libcpp/include/rich-location.h | 2 + libcpp/lex.cc | 3 +- libcpp/po/ChangeLog | 8 + libcpp/po/sr.po | 49 +- libcpp/po/zh_CN.po | 319 +- libgcc/ChangeLog | 9 + libgcc/config.host | 5 +- libgcc/config/t-darwin-min-11 | 3 + libgfortran/ChangeLog | 19 + libgfortran/io/read.c | 36 +- libgfortran/io/write.c | 4 + libgm2/ChangeLog | 12 + libgm2/config.h.in | 3 + libgm2/configure | 39 +- libgm2/configure.ac | 1 + libgm2/libm2iso/wraptime.cc | 2 +- libiberty/ChangeLog | 24 + libiberty/simple-object-elf.c | 210 +- libsanitizer/ChangeLog | 9 + libsanitizer/interception/interception.h | 4 +- libsanitizer/sanitizer_common/sanitizer_asm.h | 14 +- libstdc++-v3/ChangeLog | 803 + libstdc++-v3/config.h.in | 3 + .../config/cpu/aarch64/opt/ext/opt_random.h | 2 +- libstdc++-v3/config/cpu/i486/opt/ext/opt_random.h | 2 +- .../config/locale/dragonfly/time_members.cc | 16 +- libstdc++-v3/config/locale/generic/time_members.cc | 16 +- libstdc++-v3/config/locale/gnu/codecvt_members.cc | 117 +- libstdc++-v3/config/locale/gnu/time_members.cc | 16 +- libstdc++-v3/configure | 2 + libstdc++-v3/configure.ac | 5 +- libstdc++-v3/doc/html/manual/using_dual_abi.html | 18 +- libstdc++-v3/doc/xml/manual/using.xml | 26 +- libstdc++-v3/include/bits/alloc_traits.h | 131 +- libstdc++-v3/include/bits/basic_string.h | 2 +- libstdc++-v3/include/bits/basic_string.tcc | 2 +- libstdc++-v3/include/bits/chrono_io.h | 30 +- libstdc++-v3/include/bits/cow_string.h | 4 +- libstdc++-v3/include/bits/cpp_type_traits.h | 5 +- libstdc++-v3/include/bits/fs_dir.h | 22 + libstdc++-v3/include/bits/hashtable.h | 16 +- libstdc++-v3/include/bits/hashtable_policy.h | 2 + libstdc++-v3/include/bits/iterator_concepts.h | 82 +- libstdc++-v3/include/bits/move.h | 47 +- libstdc++-v3/include/bits/new_allocator.h | 2 +- libstdc++-v3/include/bits/ranges_algo.h | 7 + libstdc++-v3/include/bits/ranges_algobase.h | 11 +- libstdc++-v3/include/bits/ranges_base.h | 14 +- libstdc++-v3/include/bits/ranges_util.h | 5 +- libstdc++-v3/include/bits/stl_algo.h | 13 +- libstdc++-v3/include/bits/stl_algobase.h | 44 +- libstdc++-v3/include/bits/stl_bvector.h | 4 +- libstdc++-v3/include/bits/stl_iterator.h | 12 + libstdc++-v3/include/bits/stl_vector.h | 6 +- libstdc++-v3/include/bits/unicode.h | 2 +- libstdc++-v3/include/bits/unique_ptr.h | 5 +- libstdc++-v3/include/bits/unordered_map.h | 28 +- libstdc++-v3/include/bits/unordered_set.h | 24 +- libstdc++-v3/include/bits/version.def | 7 +- libstdc++-v3/include/bits/version.h | 11 +- libstdc++-v3/include/c_global/cmath | 36 +- libstdc++-v3/include/debug/map.h | 2 +- libstdc++-v3/include/debug/safe_base.h | 4 +- libstdc++-v3/include/debug/unordered_map | 2 +- libstdc++-v3/include/decimal/decimal.h | 24 +- libstdc++-v3/include/experimental/io_context | 2 +- libstdc++-v3/include/experimental/socket | 2 +- libstdc++-v3/include/ext/malloc_allocator.h | 2 +- libstdc++-v3/include/std/coroutine | 2 +- libstdc++-v3/include/std/deque | 1 + libstdc++-v3/include/std/format | 53 +- libstdc++-v3/include/std/forward_list | 1 + libstdc++-v3/include/std/iostream | 2 +- libstdc++-v3/include/std/istream | 2 +- libstdc++-v3/include/std/list | 1 + libstdc++-v3/include/std/map | 1 + libstdc++-v3/include/std/ranges | 112 +- libstdc++-v3/include/std/scoped_allocator | 3 + libstdc++-v3/include/std/set | 1 + libstdc++-v3/include/std/stacktrace | 9 +- libstdc++-v3/include/std/string | 1 + libstdc++-v3/include/std/text_encoding | 6 +- libstdc++-v3/include/std/type_traits | 15 + libstdc++-v3/include/std/unordered_map | 1 + libstdc++-v3/include/std/unordered_set | 1 + libstdc++-v3/include/std/variant | 11 +- libstdc++-v3/include/std/vector | 1 + libstdc++-v3/libsupc++/exception_ptr.h | 3 +- libstdc++-v3/libsupc++/guard.cc | 20 +- libstdc++-v3/python/libstdcxx/v6/printers.py | 19 +- libstdc++-v3/src/c++11/cxx11-ios_failure.cc | 2 + libstdc++-v3/src/c++17/fs_ops.cc | 127 +- libstdc++-v3/src/c++20/tzdb.cc | 265 +- libstdc++-v3/src/c++98/ios_init.cc | 2 +- libstdc++-v3/src/filesystem/ops-common.h | 12 +- libstdc++-v3/src/filesystem/ops.cc | 18 +- libstdc++-v3/testsuite/17_intro/names.cc | 2 + .../19_diagnostics/stacktrace/stacktrace.cc | 207 +- libstdc++-v3/testsuite/20_util/allocator/89510.cc | 14 +- .../20_util/allocator_traits/members/108619.cc | 35 + .../testsuite/20_util/default_delete/void_neg.cc | 2 +- libstdc++-v3/testsuite/20_util/duration/io.cc | 8 + .../testsuite/20_util/forward_like/2_neg.cc | 6 +- .../testsuite/20_util/headers/memory/version.cc | 8 + .../testsuite/20_util/scoped_allocator/version.cc | 8 + .../20_util/unique_ptr/creation/116529.cc | 35 + .../testsuite/20_util/variant/types_neg.cc | 18 + .../21_strings/basic_string/allocator/116641.cc | 53 + .../testsuite/21_strings/headers/string/version.cc | 8 + .../testsuite/22_locale/codecvt/in/char/37475.cc | 23 + .../22_locale/codecvt/in/wchar_t/37475.cc | 23 + .../testsuite/22_locale/codecvt/out/char/37475.cc | 23 + .../22_locale/codecvt/out/wchar_t/37475.cc | 23 + .../testsuite/22_locale/time_get/get/char/5.cc | 37 + .../testsuite/22_locale/time_get/get/wchar_t/5.cc | 37 + .../testsuite/23_containers/deque/version.cc | 8 + .../23_containers/forward_list/version.cc | 8 + .../testsuite/23_containers/list/version.cc | 8 + .../testsuite/23_containers/map/version.cc | 8 + .../testsuite/23_containers/set/version.cc | 8 + .../23_containers/unordered_map/version.cc | 8 + .../23_containers/unordered_set/version.cc | 8 + .../23_containers/vector/bool/emplace_rvalue.cc | 24 + .../testsuite/23_containers/vector/version.cc | 8 + .../24_iterators/indirect_callable/p2609r3.cc | 27 + .../24_iterators/indirect_callable/p2997r1.cc | 37 + .../24_iterators/move_iterator/lwg3736.cc | 52 + .../24_iterators/move_iterator/rel_ops_c++20.cc | 12 + .../24_iterators/range_operations/distance.cc | 11 + libstdc++-v3/testsuite/25_algorithms/contains/1.cc | 4 + .../testsuite/25_algorithms/equal/lwg3560.cc | 49 + .../testsuite/25_algorithms/fill/constrained.cc | 34 + .../testsuite/25_algorithms/find_last/1.cc | 4 + libstdc++-v3/testsuite/25_algorithms/iota/1.cc | 5 + .../25_algorithms/is_permutation/lwg3560.cc | 51 + .../pstl/alg_modifying_operations/rotate_copy.cc | 1 + .../alg_modifying_operations/transform_binary.cc | 1 + .../pstl/alg_nonmodifying/mismatch.cc | 1 + .../pstl/alg_nonmodifying/nth_element.cc | 4 + .../25_algorithms/pstl/alg_sorting/includes.cc | 4 + .../pstl/alg_sorting/lexicographical_compare.cc | 1 + .../pstl/alg_sorting/minmax_element.cc | 1 + .../25_algorithms/pstl/alg_sorting/partial_sort.cc | 1 + .../pstl/alg_sorting/set_symmetric_difference.cc | 1 + .../25_algorithms/pstl/alg_sorting/set_util.h | 4 + .../testsuite/26_numerics/headers/cmath/117321.cc | 5 + .../testsuite/26_numerics/headers/cmath/117406.cc | 59 + .../27_io/filesystem/iterators/lwg3480.cc | 16 + .../testsuite/27_io/filesystem/operations/copy.cc | 9 + .../27_io/filesystem/operations/copy_file.cc | 122 + .../27_io/filesystem/operations/hard_link_count.cc | 61 + .../testsuite/ext/malloc_allocator/89510.cc | 14 +- libstdc++-v3/testsuite/ext/new_allocator/89510.cc | 14 +- .../testsuite/std/format/formatter/requirements.cc | 17 + .../testsuite/std/ranges/adaptors/adjacent/1.cc | 3 + .../std/ranges/adaptors/adjacent_transform/1.cc | 3 + .../testsuite/std/ranges/adaptors/chunk/1.cc | 15 + .../testsuite/std/ranges/adaptors/slide/1.cc | 3 + .../testsuite/std/ranges/adaptors/transform.cc | 35 + .../std/ranges/headers/ranges/synopsis.cc | 6 +- .../testsuite/std/ranges/iota/iota_view.cc | 12 + libstdc++-v3/testsuite/std/ranges/repeat/1.cc | 23 + .../testsuite/std/ranges/subrange/lwg3589.cc | 30 + libstdc++-v3/testsuite/std/ranges/version_c++23.cc | 70 - .../testsuite/std/text_encoding/members.cc | 19 +- .../testsuite/std/time/{ => format}/format.cc | 0 libstdc++-v3/testsuite/std/time/format/pr117085.cc | 19 + .../std/time/time_zone/sys_info_abbrev.cc | 106 + libstdc++-v3/testsuite/std/time/tzdb/1.cc | 6 +- .../testsuite/util/testsuite_performance.h | 14 +- lto-plugin/ChangeLog | 19 + lto-plugin/lto-plugin.c | 53 +- 1089 files changed, 48144 insertions(+), 22180 deletions(-) diff --cc gcc/testsuite/lib/target-supports.exp index 5dc91bd85900,be303e300dcd..9d00b7daa5e0 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@@ -13591,159 -13588,14 +13626,171 @@@ proc check_effective_target_heap_trampo return 0 } +# Return 1 if nvptx code by default compiles for at least PTX ISA version +# major.minor. + +proc check_nvptx_default_ptx_isa_version_at_least { major minor } { + set name nvptx_default_ptx_isa_version_at_least_${major}_${minor} + + set supported_p \ + [concat \ + "((__PTX_ISA_VERSION_MAJOR__ == $major" \ + " && __PTX_ISA_VERSION_MINOR__ >= $minor)" \ + " || (__PTX_ISA_VERSION_MAJOR__ > $major))"] + + set src \ + [list \ + "#if $supported_p" \ + "#else" \ + "#error unsupported" \ + "#endif"] + set src [join $src "\n"] + + set res [check_no_compiler_messages $name assembly $src ""] + + return $res +} + +# Return 1 if nvptx code by default compiles for at least PTX ISA version 6.0. + +proc check_effective_target_nvptx_default_ptx_isa_version_at_least_6_0 { } { + return [check_nvptx_default_ptx_isa_version_at_least 6 0] +} + +# Return 1 if nvptx code by default compiles for at least the specified PTX ISA +# target architecture. + +proc check_nvptx_default_ptx_isa_target_architecture_at_least { ta } { + set name nvptx_default_ptx_isa_target_architecture_at_least_${ta} + + if [regexp {^sm_(\d+)$} $ta dummy ptx_sm] { + set ptx_sm "${ptx_sm}0" + } else { + error "check_nvptx_default_ptx_isa_target_architecture_at_least: illegal argument: $ta" + } + + set supported_p \ + [concat \ + "(__PTX_SM__ >= $ptx_sm)"] + + set src \ + [list \ + "#if $supported_p" \ + "#else" \ + "#error unsupported" \ + "#endif"] + set src [join $src "\n"] + + set res [check_no_compiler_messages $name assembly $src ""] + + return $res +} + +# Return 1 if nvptx '-msoft-stack' is enabled. + +proc check_effective_target_nvptx_softstack { } { + return [check_no_compiler_messages nvptx_softstack assembly { + #if !defined(__nvptx_softstack__) + #error !__nvptx_softstack__ + #endif + }] +} + +# Return 1 if nvptx code with PTX ISA version major.minor or higher can be run. + +proc check_nvptx_runtime_ptx_isa_version_at_least { major minor } { + set name nvptx_runtime_ptx_isa_version_${major}_${minor} + + set default \ + [check_nvptx_default_ptx_isa_version_at_least \ + ${major} ${minor}] + + if { $default } { + set flag "" + } else { + set flag "-mptx=$major.$minor" + } + + set res [check_runtime $name { + int main (void) { return 0; } + } $flag] + + return $res +} + +# Return 1 if nvptx code with the specified PTX ISA target architecture or +# higher can be run. + +proc check_nvptx_runtime_ptx_isa_target_architecture_at_least { ta } { + set name nvptx_runtime_ptx_isa_target_architecture_${ta} + + set default \ + [check_nvptx_default_ptx_isa_target_architecture_at_least ${ta}] + + if { $default } { + set flag "" + } else { + set flag "-march=$ta -mptx=_" + } + + set res [check_runtime $name { + int main (void) { return 0; } + } $flag] + + return $res +} + +# Return 1 if the nvptx runtime environment supports the PTX ISA directive +# '.alias'. + +proc check_effective_target_nvptx_runtime_alias_ptx { } { + return [check_nvptx_runtime_ptx_isa_version_at_least 6 3] +} + +# Return 1 if the nvptx runtime environment supports PTX 'alloca'. + +proc check_effective_target_nvptx_runtime_alloca_ptx { } { + return [expr { [check_nvptx_runtime_ptx_isa_version_at_least 7 3] + && [check_nvptx_runtime_ptx_isa_target_architecture_at_least sm_52] }] +} + +# Add options to enable nvptx using the PTX ISA directive '.alias'. + +proc add_options_for_nvptx_alias_ptx { flags } { + append flags " -malias" + + if { ![check_nvptx_default_ptx_isa_version_at_least 6 3] } { + append flags " -mptx=6.3" + } + + return $flags +} + +# Add options to enable nvptx using PTX 'alloca'. + +proc add_options_for_nvptx_alloca_ptx { flags } { + # We don't add '-mno-soft-stack' here; the users should take care of that + # explicitly. + + if { ![check_nvptx_default_ptx_isa_version_at_least 7 3] } { + append flags " -mptx=7.3" + } + + if { ![check_nvptx_default_ptx_isa_target_architecture_at_least sm_52] } { + append flags " -march=sm_52" + } + + return $flags +} ++ + # Return 1 if check-jsonschema is available. + + proc check_effective_target_check_jsonschema { } { + set result [remote_exec host "check-jsonschema --version"] + set status [lindex $result 0] + if { $status == 0 } then { + return 1; + } else { + return 0; + } + }