https://gcc.gnu.org/g:1a9a51aca25eaad91d80869c43859274fe5e1096
commit 1a9a51aca25eaad91d80869c43859274fe5e1096 Merge: a0ec01c1ccb1 dc716fb66a7c Author: Jakub Jelinek <[email protected]> Date: Thu Jan 15 16:46:41 2026 +0100 Merge commit 'r16-6809-gdc716fb66a7cdfc1ded12d861b3a7daf3cbe8b20' into redhat/gcc-16-branch Diff: ChangeLog | 12 + MAINTAINERS | 7 +- gcc/ChangeLog | 213 + gcc/DATESTAMP | 2 +- gcc/Makefile.in | 1 + gcc/algol68/ga68.texi | 8 +- gcc/attribs.cc | 42 +- gcc/auto-profile.cc | 125 +- gcc/c-family/c-attribs.cc | 14 +- gcc/c-family/c-cppbuiltin.cc | 4 + gcc/c-family/c.opt | 4 + gcc/c/ChangeLog | 27 + gcc/c/c-decl.cc | 139 +- gcc/c/c-parser.cc | 14 + gcc/c/c-tree.h | 6 + gcc/c/c-typeck.cc | 197 +- gcc/cfgexpand.cc | 6 +- gcc/cfgloopmanip.cc | 78 + gcc/cfgloopmanip.h | 4 + gcc/cgraph.cc | 13 +- gcc/combine.cc | 3 +- gcc/config.in | 14 - gcc/config/aarch64/aarch64-simd.md | 18 + gcc/config/aarch64/aarch64-sme.md | 18 + gcc/config/aarch64/aarch64-sve-builtins-base.def | 17 + gcc/config/aarch64/aarch64-sve-builtins-sme.def | 16 + gcc/config/aarch64/aarch64-sve-builtins-sve2.def | 17 + gcc/config/aarch64/aarch64-sve-builtins.def | 17 + gcc/config/aarch64/aarch64-sve.md | 18 + gcc/config/aarch64/aarch64-sve2.md | 18 + gcc/config/aarch64/aarch64.cc | 42 +- gcc/config/aarch64/aarch64.md | 30 + gcc/config/aarch64/cygming.h | 8 +- gcc/config/i386/cygming.h | 8 +- gcc/config/i386/sol2.h | 6 +- gcc/config/i386/winnt-utf8.manifest | 15 +- gcc/config/i386/x86-tune.def | 3 +- gcc/config/loongarch/loongarch.md | 2 +- gcc/config/riscv/constraints.md | 2 +- gcc/config/sparc/freebsd.h | 7 - gcc/config/sparc/linux.h | 7 - gcc/config/sparc/linux64.h | 7 - gcc/config/sparc/sol2.h | 36 - gcc/config/sparc/sparc.cc | 6 +- gcc/config/sparc/sparc.h | 35 +- gcc/config/sparc/sparc.md | 4 +- gcc/configure | 94 - gcc/configure.ac | 46 - gcc/cp/ChangeLog | 94 + gcc/cp/Make-lang.in | 20 +- gcc/cp/call.cc | 8 +- gcc/cp/class.cc | 6 +- gcc/cp/config-lang.in | 2 +- gcc/cp/constexpr.cc | 228 +- gcc/cp/constraint.cc | 3 + gcc/cp/coroutines.cc | 59 +- gcc/cp/cp-gimplify.cc | 96 +- gcc/cp/cp-objcp-common.cc | 4 + gcc/cp/cp-trait.def | 1 + gcc/cp/cp-tree.def | 18 + gcc/cp/cp-tree.h | 220 +- gcc/cp/cvt.cc | 6 + gcc/cp/cxx-pretty-print.cc | 20 + gcc/cp/decl.cc | 173 +- gcc/cp/decl2.cc | 300 +- gcc/cp/error.cc | 47 +- gcc/cp/init.cc | 9 +- gcc/cp/lex.cc | 10 +- gcc/cp/mangle.cc | 150 +- gcc/cp/metafns.gperf | 688 ++ gcc/cp/metafns.h | 1181 +++ gcc/cp/method.cc | 2 +- gcc/cp/module.cc | 127 +- gcc/cp/name-lookup.cc | 41 +- gcc/cp/operators.def | 151 +- gcc/cp/parser.cc | 1175 ++- gcc/cp/pt.cc | 424 +- gcc/cp/reflect.cc | 8608 ++++++++++++++++++++ gcc/cp/search.cc | 16 +- gcc/cp/semantics.cc | 75 +- gcc/cp/tree.cc | 92 +- gcc/cp/typeck.cc | 102 +- gcc/defaults.h | 2 +- gcc/doc/extend.texi | 4 + gcc/doc/invoke.texi | 6 +- gcc/dwarf2out.cc | 11 +- gcc/fold-const.cc | 39 +- gcc/fortran/ChangeLog | 16 + gcc/function.h | 5 + gcc/gimple-loop-versioning.cc | 20 + gcc/gimple-pretty-print.cc | 8 +- gcc/hierarchical_discriminator.cc | 264 + gcc/hierarchical_discriminator.h | 93 + gcc/ifcvt.cc | 70 +- gcc/input.cc | 29 + gcc/input.h | 43 + gcc/ipa-cp.cc | 10 +- gcc/ipa-fnsummary.cc | 5 +- gcc/ira-lives.cc | 7 + gcc/ira.cc | 6 + gcc/match.pd | 58 +- gcc/params.opt | 4 + gcc/print-rtl.cc | 5 +- gcc/simplify-rtx.cc | 4 +- gcc/stmt.cc | 66 +- gcc/testsuite/ChangeLog | 211 + gcc/testsuite/g++.dg/DRs/dr2581-1.C | 4 +- gcc/testsuite/g++.dg/DRs/dr2581-2.C | 4 +- gcc/testsuite/g++.dg/cpp0x/inline-ns2.C | 18 +- gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda11.C | 2 +- gcc/testsuite/g++.dg/diagnostic/bad-fndef-1.C | 17 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-2.C | 15 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-3.C | 16 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-4.C | 38 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-5.C | 15 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-6.C | 17 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-7.C | 14 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-7b.C | 17 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-8.C | 14 + gcc/testsuite/g++.dg/diagnostic/bad-fndef-9.C | 14 + gcc/testsuite/g++.dg/ext/goto2.C | 13 + gcc/testsuite/g++.dg/guality/guality.exp | 7 +- gcc/testsuite/g++.dg/lookup/decl1.C | 8 +- gcc/testsuite/g++.dg/lookup/using17.C | 4 +- gcc/testsuite/g++.dg/modules/coro-1_a.C | 34 + gcc/testsuite/g++.dg/modules/coro-1_b.C | 19 + gcc/testsuite/g++.dg/parse/non-dependent2.C | 2 +- gcc/testsuite/g++.dg/reflect/access_context1.C | 175 + gcc/testsuite/g++.dg/reflect/access_context2.C | 15 + gcc/testsuite/g++.dg/reflect/access_context3.C | 50 + gcc/testsuite/g++.dg/reflect/adl1.C | 16 + gcc/testsuite/g++.dg/reflect/alignment_of1.C | 165 + gcc/testsuite/g++.dg/reflect/alignment_of2.C | 27 + gcc/testsuite/g++.dg/reflect/annotations1.C | 139 + gcc/testsuite/g++.dg/reflect/annotations2.C | 44 + gcc/testsuite/g++.dg/reflect/annotations3.C | 174 + gcc/testsuite/g++.dg/reflect/annotations4.C | 79 + gcc/testsuite/g++.dg/reflect/annotations5.C | 30 + gcc/testsuite/g++.dg/reflect/annotations6.C | 25 + gcc/testsuite/g++.dg/reflect/annotations7.C | 12 + gcc/testsuite/g++.dg/reflect/annotations8.C | 16 + gcc/testsuite/g++.dg/reflect/anon1.C | 50 + gcc/testsuite/g++.dg/reflect/anon2.C | 43 + gcc/testsuite/g++.dg/reflect/anon3.C | 49 + gcc/testsuite/g++.dg/reflect/bases_of1.C | 188 + gcc/testsuite/g++.dg/reflect/bases_of2.C | 73 + gcc/testsuite/g++.dg/reflect/bases_of3.C | 88 + gcc/testsuite/g++.dg/reflect/bit_size_of1.C | 125 + gcc/testsuite/g++.dg/reflect/bitfield1.C | 12 + gcc/testsuite/g++.dg/reflect/can_substitute1.C | 200 + gcc/testsuite/g++.dg/reflect/class1.C | 15 + gcc/testsuite/g++.dg/reflect/class2.C | 27 + gcc/testsuite/g++.dg/reflect/common_reference1.C | 61 + gcc/testsuite/g++.dg/reflect/common_type1.C | 151 + gcc/testsuite/g++.dg/reflect/compare1.C | 38 + gcc/testsuite/g++.dg/reflect/compare10.C | 15 + gcc/testsuite/g++.dg/reflect/compare2.C | 16 + gcc/testsuite/g++.dg/reflect/compare3.C | 24 + gcc/testsuite/g++.dg/reflect/compare4.C | 27 + gcc/testsuite/g++.dg/reflect/compare5.C | 8 + gcc/testsuite/g++.dg/reflect/compare6.C | 12 + gcc/testsuite/g++.dg/reflect/compare7.C | 20 + gcc/testsuite/g++.dg/reflect/compare8.C | 67 + gcc/testsuite/g++.dg/reflect/compare9.C | 25 + gcc/testsuite/g++.dg/reflect/compat1.C | 13 + gcc/testsuite/g++.dg/reflect/complete1.C | 54 + gcc/testsuite/g++.dg/reflect/constant_of1.C | 40 + gcc/testsuite/g++.dg/reflect/constant_of2.C | 87 + gcc/testsuite/g++.dg/reflect/constant_of3.C | 60 + gcc/testsuite/g++.dg/reflect/constant_of4.C | 50 + gcc/testsuite/g++.dg/reflect/constant_of5.C | 86 + gcc/testsuite/g++.dg/reflect/constant_of6.C | 20 + gcc/testsuite/g++.dg/reflect/constant_of7.C | 54 + gcc/testsuite/g++.dg/reflect/constant_of8.C | 16 + gcc/testsuite/g++.dg/reflect/constant_of9.C | 9 + gcc/testsuite/g++.dg/reflect/crash1.C | 15 + gcc/testsuite/g++.dg/reflect/crash10.C | 11 + gcc/testsuite/g++.dg/reflect/crash11.C | 23 + gcc/testsuite/g++.dg/reflect/crash12.C | 8 + gcc/testsuite/g++.dg/reflect/crash13.C | 15 + gcc/testsuite/g++.dg/reflect/crash14.C | 7 + gcc/testsuite/g++.dg/reflect/crash15.C | 8 + gcc/testsuite/g++.dg/reflect/crash16.C | 43 + gcc/testsuite/g++.dg/reflect/crash17.C | 29 + gcc/testsuite/g++.dg/reflect/crash18.C | 6 + gcc/testsuite/g++.dg/reflect/crash2.C | 25 + gcc/testsuite/g++.dg/reflect/crash3.C | 8 + gcc/testsuite/g++.dg/reflect/crash4.C | 15 + gcc/testsuite/g++.dg/reflect/crash5.C | 14 + gcc/testsuite/g++.dg/reflect/crash6.C | 21 + gcc/testsuite/g++.dg/reflect/crash7.C | 22 + gcc/testsuite/g++.dg/reflect/crash8.C | 11 + gcc/testsuite/g++.dg/reflect/crash9.C | 10 + gcc/testsuite/g++.dg/reflect/data_member_spec1.C | 119 + gcc/testsuite/g++.dg/reflect/data_member_spec2.C | 113 + gcc/testsuite/g++.dg/reflect/data_member_spec3.C | 29 + gcc/testsuite/g++.dg/reflect/data_member_spec4.C | 29 + gcc/testsuite/g++.dg/reflect/dealias1.C | 36 + gcc/testsuite/g++.dg/reflect/dealias2.C | 14 + gcc/testsuite/g++.dg/reflect/dealias3.C | 32 + gcc/testsuite/g++.dg/reflect/define_aggregate1.C | 108 + gcc/testsuite/g++.dg/reflect/define_aggregate2.C | 44 + gcc/testsuite/g++.dg/reflect/define_aggregate3.C | 217 + gcc/testsuite/g++.dg/reflect/define_aggregate4.C | 225 + gcc/testsuite/g++.dg/reflect/define_aggregate5.C | 25 + .../g++.dg/reflect/define_static_array1.C | 91 + .../g++.dg/reflect/define_static_array2.C | 30 + .../g++.dg/reflect/define_static_array3.C | 16 + .../g++.dg/reflect/define_static_array4.C | 17 + .../g++.dg/reflect/define_static_object1.C | 18 + .../g++.dg/reflect/define_static_object2.C | 18 + .../g++.dg/reflect/define_static_string1.C | 133 + gcc/testsuite/g++.dg/reflect/dep1.C | 14 + gcc/testsuite/g++.dg/reflect/dep10.C | 15 + gcc/testsuite/g++.dg/reflect/dep11.C | 18 + gcc/testsuite/g++.dg/reflect/dep2.C | 36 + gcc/testsuite/g++.dg/reflect/dep3.C | 33 + gcc/testsuite/g++.dg/reflect/dep4.C | 24 + gcc/testsuite/g++.dg/reflect/dep5.C | 29 + gcc/testsuite/g++.dg/reflect/dep6.C | 20 + gcc/testsuite/g++.dg/reflect/dep7.C | 23 + gcc/testsuite/g++.dg/reflect/dep8.C | 70 + gcc/testsuite/g++.dg/reflect/dep9.C | 40 + gcc/testsuite/g++.dg/reflect/diag1.C | 25 + gcc/testsuite/g++.dg/reflect/diag2.C | 25 + gcc/testsuite/g++.dg/reflect/diag3.C | 28 + gcc/testsuite/g++.dg/reflect/diag4.C | 17 + gcc/testsuite/g++.dg/reflect/display_string_of1.C | 230 + gcc/testsuite/g++.dg/reflect/eh1.C | 355 + gcc/testsuite/g++.dg/reflect/eh2.C | 91 + gcc/testsuite/g++.dg/reflect/eh3.C | 22 + gcc/testsuite/g++.dg/reflect/eh4.C | 221 + gcc/testsuite/g++.dg/reflect/eh5.C | 103 + gcc/testsuite/g++.dg/reflect/eh6.C | 6 + gcc/testsuite/g++.dg/reflect/eh7.C | 22 + gcc/testsuite/g++.dg/reflect/eh8.C | 31 + gcc/testsuite/g++.dg/reflect/eh9.C | 11 + gcc/testsuite/g++.dg/reflect/enumerators_of1.C | 189 + gcc/testsuite/g++.dg/reflect/error1.C | 18 + gcc/testsuite/g++.dg/reflect/error10.C | 39 + gcc/testsuite/g++.dg/reflect/error2.C | 19 + gcc/testsuite/g++.dg/reflect/error3.C | 5 + gcc/testsuite/g++.dg/reflect/error4.C | 11 + gcc/testsuite/g++.dg/reflect/error5.C | 19 + gcc/testsuite/g++.dg/reflect/error6.C | 24 + gcc/testsuite/g++.dg/reflect/error8.C | 37 + gcc/testsuite/g++.dg/reflect/error9.C | 6 + gcc/testsuite/g++.dg/reflect/expr1.C | 68 + gcc/testsuite/g++.dg/reflect/expr10.C | 39 + gcc/testsuite/g++.dg/reflect/expr11.C | 32 + gcc/testsuite/g++.dg/reflect/expr12.C | 30 + gcc/testsuite/g++.dg/reflect/expr13.C | 20 + gcc/testsuite/g++.dg/reflect/expr14.C | 16 + gcc/testsuite/g++.dg/reflect/expr2.C | 60 + gcc/testsuite/g++.dg/reflect/expr3.C | 47 + gcc/testsuite/g++.dg/reflect/expr4.C | 61 + gcc/testsuite/g++.dg/reflect/expr5.C | 22 + gcc/testsuite/g++.dg/reflect/expr6.C | 49 + gcc/testsuite/g++.dg/reflect/expr7.C | 11 + gcc/testsuite/g++.dg/reflect/expr8.C | 30 + gcc/testsuite/g++.dg/reflect/expr9.C | 73 + gcc/testsuite/g++.dg/reflect/extract1.C | 183 + gcc/testsuite/g++.dg/reflect/extract2.C | 140 + gcc/testsuite/g++.dg/reflect/extract3.C | 90 + gcc/testsuite/g++.dg/reflect/extract4.C | 30 + gcc/testsuite/g++.dg/reflect/extract5.C | 31 + gcc/testsuite/g++.dg/reflect/extract6.C | 20 + gcc/testsuite/g++.dg/reflect/extract7.C | 27 + gcc/testsuite/g++.dg/reflect/extract8.C | 18 + gcc/testsuite/g++.dg/reflect/extract9.C | 25 + gcc/testsuite/g++.dg/reflect/feat1.C | 17 + gcc/testsuite/g++.dg/reflect/feat2.C | 11 + .../g++.dg/reflect/has_c_language_linkage1.C | 160 + .../g++.dg/reflect/has_default_argument1.C | 132 + .../g++.dg/reflect/has_default_argument2.C | 32 + .../reflect/has_default_member_initializer1.C | 133 + .../g++.dg/reflect/has_ellipsis_parameter1.C | 148 + .../g++.dg/reflect/has_external_linkage1.C | 149 + .../g++.dg/reflect/has_external_linkage2.C | 13 + gcc/testsuite/g++.dg/reflect/has_identifier1.C | 241 + gcc/testsuite/g++.dg/reflect/has_identifier2.C | 57 + .../g++.dg/reflect/has_internal_linkage1.C | 149 + .../g++.dg/reflect/has_internal_linkage2.C | 13 + gcc/testsuite/g++.dg/reflect/has_linkage1.C | 149 + gcc/testsuite/g++.dg/reflect/has_module_linkage1.C | 149 + gcc/testsuite/g++.dg/reflect/has_module_linkage2.C | 13 + gcc/testsuite/g++.dg/reflect/has_parent1.C | 138 + .../g++.dg/reflect/has_template_arguments1.C | 111 + .../g++.dg/reflect/has_template_arguments2.C | 75 + .../g++.dg/reflect/has_template_arguments3.C | 48 + .../g++.dg/reflect/has_template_arguments4.C | 23 + gcc/testsuite/g++.dg/reflect/identifier_of1.C | 181 + gcc/testsuite/g++.dg/reflect/identifier_of2.C | 6 + gcc/testsuite/g++.dg/reflect/init1.C | 59 + gcc/testsuite/g++.dg/reflect/init10.C | 24 + gcc/testsuite/g++.dg/reflect/init11.C | 25 + gcc/testsuite/g++.dg/reflect/init12.C | 29 + gcc/testsuite/g++.dg/reflect/init13.C | 55 + gcc/testsuite/g++.dg/reflect/init14.C | 16 + gcc/testsuite/g++.dg/reflect/init15.C | 29 + gcc/testsuite/g++.dg/reflect/init16.C | 47 + gcc/testsuite/g++.dg/reflect/init17.C | 30 + gcc/testsuite/g++.dg/reflect/init2.C | 18 + gcc/testsuite/g++.dg/reflect/init3.C | 8 + gcc/testsuite/g++.dg/reflect/init4.C | 63 + gcc/testsuite/g++.dg/reflect/init5.C | 21 + gcc/testsuite/g++.dg/reflect/init6.C | 37 + gcc/testsuite/g++.dg/reflect/init7.C | 41 + gcc/testsuite/g++.dg/reflect/init8.C | 16 + gcc/testsuite/g++.dg/reflect/init9.C | 53 + gcc/testsuite/g++.dg/reflect/is_accessible1.C | 131 + gcc/testsuite/g++.dg/reflect/is_accessible2.C | 470 ++ gcc/testsuite/g++.dg/reflect/is_alias_template1.C | 105 + gcc/testsuite/g++.dg/reflect/is_assignment1.C | 44 + gcc/testsuite/g++.dg/reflect/is_bit_field1.C | 144 + gcc/testsuite/g++.dg/reflect/is_class_member1.C | 128 + gcc/testsuite/g++.dg/reflect/is_class_template1.C | 105 + gcc/testsuite/g++.dg/reflect/is_complete_type1.C | 109 + gcc/testsuite/g++.dg/reflect/is_complete_type2.C | 25 + gcc/testsuite/g++.dg/reflect/is_concept1.C | 105 + gcc/testsuite/g++.dg/reflect/is_const1.C | 116 + gcc/testsuite/g++.dg/reflect/is_consteval_only1.C | 83 + .../g++.dg/reflect/is_constructible_type1.C | 674 ++ .../g++.dg/reflect/is_constructible_type2.C | 137 + .../g++.dg/reflect/is_constructor_template1.C | 56 + gcc/testsuite/g++.dg/reflect/is_constuctor1.C | 101 + .../g++.dg/reflect/is_conversion_function1.C | 56 + .../reflect/is_conversion_function_template1.C | 54 + gcc/testsuite/g++.dg/reflect/is_copy_assignment1.C | 101 + .../g++.dg/reflect/is_copy_constructor1.C | 101 + .../g++.dg/reflect/is_data_member_spec1.C | 105 + .../g++.dg/reflect/is_default_constructor1.C | 101 + gcc/testsuite/g++.dg/reflect/is_defaulted1.C | 169 + gcc/testsuite/g++.dg/reflect/is_defaulted2.C | 64 + gcc/testsuite/g++.dg/reflect/is_deleted1.C | 154 + gcc/testsuite/g++.dg/reflect/is_deleted2.C | 89 + gcc/testsuite/g++.dg/reflect/is_destructor1.C | 124 + gcc/testsuite/g++.dg/reflect/is_enumerable_type1.C | 106 + gcc/testsuite/g++.dg/reflect/is_enumerator1.C | 107 + gcc/testsuite/g++.dg/reflect/is_explicit1.C | 72 + gcc/testsuite/g++.dg/reflect/is_explicit2.C | 47 + .../g++.dg/reflect/is_explicit_object_parameter1.C | 165 + gcc/testsuite/g++.dg/reflect/is_final1.C | 56 + gcc/testsuite/g++.dg/reflect/is_function1.C | 105 + gcc/testsuite/g++.dg/reflect/is_function2.C | 44 + gcc/testsuite/g++.dg/reflect/is_function3.C | 15 + .../g++.dg/reflect/is_function_parameter1.C | 105 + .../g++.dg/reflect/is_function_parameter2.C | 13 + .../g++.dg/reflect/is_function_template1.C | 105 + .../g++.dg/reflect/is_function_template2.C | 44 + gcc/testsuite/g++.dg/reflect/is_function_type1.C | 26 + .../g++.dg/reflect/is_literal_operator1.C | 56 + .../g++.dg/reflect/is_literal_operator_template1.C | 56 + .../reflect/is_lrvalue_reference_qualified1.C | 93 + gcc/testsuite/g++.dg/reflect/is_move_assignment1.C | 101 + .../g++.dg/reflect/is_move_constructor1.C | 101 + gcc/testsuite/g++.dg/reflect/is_mutable_member1.C | 133 + gcc/testsuite/g++.dg/reflect/is_namespace1.C | 105 + gcc/testsuite/g++.dg/reflect/is_namespace_alias1.C | 105 + .../g++.dg/reflect/is_namespace_member1.C | 147 + gcc/testsuite/g++.dg/reflect/is_noexcept1.C | 180 + gcc/testsuite/g++.dg/reflect/is_noexcept2.C | 65 + gcc/testsuite/g++.dg/reflect/is_noexcept3.C | 175 + gcc/testsuite/g++.dg/reflect/is_noexcept4.C | 120 + .../g++.dg/reflect/is_nonstatic_data_member1.C | 127 + gcc/testsuite/g++.dg/reflect/is_object1.C | 105 + gcc/testsuite/g++.dg/reflect/is_object2.C | 15 + .../g++.dg/reflect/is_operator_function1.C | 56 + .../reflect/is_operator_function_template1.C | 57 + gcc/testsuite/g++.dg/reflect/is_override1.C | 154 + gcc/testsuite/g++.dg/reflect/is_pure_virtual1.C | 48 + .../g++.dg/reflect/is_special_member_function1.C | 101 + gcc/testsuite/g++.dg/reflect/is_static_member1.C | 127 + gcc/testsuite/g++.dg/reflect/is_string_literal1.C | 40 + .../g++.dg/reflect/is_structured_binding1.C | 99 + .../g++.dg/reflect/is_structured_binding2.C | 35 + gcc/testsuite/g++.dg/reflect/is_template1.C | 105 + gcc/testsuite/g++.dg/reflect/is_template2.C | 9 + gcc/testsuite/g++.dg/reflect/is_type1.C | 105 + gcc/testsuite/g++.dg/reflect/is_type_alias1.C | 105 + gcc/testsuite/g++.dg/reflect/is_type_alias2.C | 29 + gcc/testsuite/g++.dg/reflect/is_type_alias3.C | 77 + gcc/testsuite/g++.dg/reflect/is_user_declared1.C | 210 + gcc/testsuite/g++.dg/reflect/is_user_declared2.C | 91 + gcc/testsuite/g++.dg/reflect/is_user_provided1.C | 210 + gcc/testsuite/g++.dg/reflect/is_user_provided2.C | 91 + gcc/testsuite/g++.dg/reflect/is_variable1.C | 104 + .../g++.dg/reflect/is_variable_template1.C | 105 + gcc/testsuite/g++.dg/reflect/is_virtual1.C | 60 + gcc/testsuite/g++.dg/reflect/is_volatile1.C | 116 + gcc/testsuite/g++.dg/reflect/lex1.C | 13 + gcc/testsuite/g++.dg/reflect/lex2.C | 21 + gcc/testsuite/g++.dg/reflect/mangle1.C | 253 + gcc/testsuite/g++.dg/reflect/member-visibility1.C | 412 + gcc/testsuite/g++.dg/reflect/member-visibility2.C | 61 + gcc/testsuite/g++.dg/reflect/member1.C | 99 + gcc/testsuite/g++.dg/reflect/member10.C | 42 + gcc/testsuite/g++.dg/reflect/member11.C | 19 + gcc/testsuite/g++.dg/reflect/member12.C | 37 + gcc/testsuite/g++.dg/reflect/member13.C | 46 + gcc/testsuite/g++.dg/reflect/member14.C | 27 + gcc/testsuite/g++.dg/reflect/member15.C | 177 + gcc/testsuite/g++.dg/reflect/member16.C | 86 + gcc/testsuite/g++.dg/reflect/member17.C | 402 + gcc/testsuite/g++.dg/reflect/member18.C | 744 ++ gcc/testsuite/g++.dg/reflect/member19.C | 159 + gcc/testsuite/g++.dg/reflect/member2.C | 14 + gcc/testsuite/g++.dg/reflect/member20.C | 26 + gcc/testsuite/g++.dg/reflect/member3.C | 35 + gcc/testsuite/g++.dg/reflect/member4.C | 14 + gcc/testsuite/g++.dg/reflect/member5.C | 19 + gcc/testsuite/g++.dg/reflect/member6.C | 13 + gcc/testsuite/g++.dg/reflect/member7.C | 78 + gcc/testsuite/g++.dg/reflect/member8.C | 15 + gcc/testsuite/g++.dg/reflect/member9.C | 18 + gcc/testsuite/g++.dg/reflect/members_of1.C | 524 ++ gcc/testsuite/g++.dg/reflect/members_of2.C | 58 + gcc/testsuite/g++.dg/reflect/members_of3.C | 49 + gcc/testsuite/g++.dg/reflect/members_of4.C | 21 + gcc/testsuite/g++.dg/reflect/members_of5.C | 101 + gcc/testsuite/g++.dg/reflect/members_of6.C | 34 + gcc/testsuite/g++.dg/reflect/members_of7.C | 32 + gcc/testsuite/g++.dg/reflect/metafn-ptr1.C | 19 + gcc/testsuite/g++.dg/reflect/ns1.C | 37 + gcc/testsuite/g++.dg/reflect/ns2.C | 21 + gcc/testsuite/g++.dg/reflect/ns3.C | 15 + gcc/testsuite/g++.dg/reflect/ns4.C | 94 + gcc/testsuite/g++.dg/reflect/ns5.C | 45 + gcc/testsuite/g++.dg/reflect/ns6.C | 17 + gcc/testsuite/g++.dg/reflect/null1.C | 30 + gcc/testsuite/g++.dg/reflect/null2.C | 7 + gcc/testsuite/g++.dg/reflect/null3.C | 9 + gcc/testsuite/g++.dg/reflect/null4.C | 18 + gcc/testsuite/g++.dg/reflect/null5.C | 26 + gcc/testsuite/g++.dg/reflect/object_of1.C | 85 + gcc/testsuite/g++.dg/reflect/object_of2.C | 26 + gcc/testsuite/g++.dg/reflect/odr1.C | 29 + gcc/testsuite/g++.dg/reflect/offset_of1.C | 132 + gcc/testsuite/g++.dg/reflect/operator_of1.C | 354 + gcc/testsuite/g++.dg/reflect/override1.C | 39 + gcc/testsuite/g++.dg/reflect/p2996-1.C | 20 + gcc/testsuite/g++.dg/reflect/p2996-10.C | 15 + gcc/testsuite/g++.dg/reflect/p2996-11.C | 16 + gcc/testsuite/g++.dg/reflect/p2996-12.C | 24 + gcc/testsuite/g++.dg/reflect/p2996-13.C | 19 + gcc/testsuite/g++.dg/reflect/p2996-14.C | 17 + gcc/testsuite/g++.dg/reflect/p2996-15.C | 16 + gcc/testsuite/g++.dg/reflect/p2996-16.C | 18 + gcc/testsuite/g++.dg/reflect/p2996-17.C | 32 + gcc/testsuite/g++.dg/reflect/p2996-18.C | 46 + gcc/testsuite/g++.dg/reflect/p2996-19.C | 22 + gcc/testsuite/g++.dg/reflect/p2996-2.C | 27 + gcc/testsuite/g++.dg/reflect/p2996-20.C | 61 + gcc/testsuite/g++.dg/reflect/p2996-21.C | 68 + gcc/testsuite/g++.dg/reflect/p2996-3.C | 23 + gcc/testsuite/g++.dg/reflect/p2996-4.C | 27 + gcc/testsuite/g++.dg/reflect/p2996-5.C | 50 + gcc/testsuite/g++.dg/reflect/p2996-6.C | 18 + gcc/testsuite/g++.dg/reflect/p2996-7.C | 16 + gcc/testsuite/g++.dg/reflect/p2996-8.C | 14 + gcc/testsuite/g++.dg/reflect/p2996-9.C | 24 + gcc/testsuite/g++.dg/reflect/p3394-1.C | 174 + gcc/testsuite/g++.dg/reflect/p3491-1.C | 25 + gcc/testsuite/g++.dg/reflect/p3491-2.C | 50 + gcc/testsuite/g++.dg/reflect/p3491-3.C | 45 + gcc/testsuite/g++.dg/reflect/pack-index1.C | 28 + gcc/testsuite/g++.dg/reflect/parameters_of1.C | 35 + gcc/testsuite/g++.dg/reflect/parameters_of2.C | 41 + gcc/testsuite/g++.dg/reflect/parameters_of3.C | 41 + gcc/testsuite/g++.dg/reflect/parameters_of4.C | 12 + gcc/testsuite/g++.dg/reflect/parameters_of5.C | 43 + gcc/testsuite/g++.dg/reflect/parameters_of6.C | 8 + gcc/testsuite/g++.dg/reflect/parent_of1.C | 238 + gcc/testsuite/g++.dg/reflect/parm1.C | 56 + gcc/testsuite/g++.dg/reflect/parm2.C | 16 + gcc/testsuite/g++.dg/reflect/parm3.C | 33 + gcc/testsuite/g++.dg/reflect/parm4.C | 32 + gcc/testsuite/g++.dg/reflect/pr122634-1.C | 65 + gcc/testsuite/g++.dg/reflect/pr122634-2.C | 10 + gcc/testsuite/g++.dg/reflect/qrn1.C | 272 + gcc/testsuite/g++.dg/reflect/qrn2.C | 43 + gcc/testsuite/g++.dg/reflect/range_args.C | 96 + gcc/testsuite/g++.dg/reflect/reflect_constant1.C | 25 + gcc/testsuite/g++.dg/reflect/reflect_constant2.C | 31 + gcc/testsuite/g++.dg/reflect/reflect_constant3.C | 67 + gcc/testsuite/g++.dg/reflect/reflect_constant4.C | 15 + gcc/testsuite/g++.dg/reflect/reflect_constant5.C | 30 + gcc/testsuite/g++.dg/reflect/reflect_constant6.C | 46 + gcc/testsuite/g++.dg/reflect/reflect_constant7.C | 18 + gcc/testsuite/g++.dg/reflect/reflect_constant8.C | 33 + gcc/testsuite/g++.dg/reflect/reflect_constant9.C | 33 + .../g++.dg/reflect/reflect_constant_array1.C | 110 + .../g++.dg/reflect/reflect_constant_array2.C | 17 + .../g++.dg/reflect/reflect_constant_array3.C | 18 + .../g++.dg/reflect/reflect_constant_array4.C | 20 + .../g++.dg/reflect/reflect_constant_string1.C | 133 + .../g++.dg/reflect/reflect_constant_string2.C | 14 + gcc/testsuite/g++.dg/reflect/reflect_function1.C | 17 + gcc/testsuite/g++.dg/reflect/reflect_function2.C | 74 + gcc/testsuite/g++.dg/reflect/reflect_object1.C | 88 + gcc/testsuite/g++.dg/reflect/reflect_object2.C | 115 + gcc/testsuite/g++.dg/reflect/reflect_object3.C | 61 + gcc/testsuite/g++.dg/reflect/reflect_object4.C | 10 + gcc/testsuite/g++.dg/reflect/return_type_of1.C | 99 + gcc/testsuite/g++.dg/reflect/return_type_of2.C | 20 + gcc/testsuite/g++.dg/reflect/serialize1.C | 151 + gcc/testsuite/g++.dg/reflect/serialize2.C | 67 + gcc/testsuite/g++.dg/reflect/size_of1.C | 122 + gcc/testsuite/g++.dg/reflect/source_location_of1.C | 113 + gcc/testsuite/g++.dg/reflect/source_location_of2.C | 44 + gcc/testsuite/g++.dg/reflect/splice1.C | 28 + gcc/testsuite/g++.dg/reflect/splice2.C | 13 + gcc/testsuite/g++.dg/reflect/splice3.C | 5 + gcc/testsuite/g++.dg/reflect/splice4.C | 17 + gcc/testsuite/g++.dg/reflect/splice5.C | 39 + gcc/testsuite/g++.dg/reflect/splice6.C | 48 + gcc/testsuite/g++.dg/reflect/splice7.C | 6 + gcc/testsuite/g++.dg/reflect/splicing-base1.C | 24 + gcc/testsuite/g++.dg/reflect/splicing-base2.C | 30 + gcc/testsuite/g++.dg/reflect/splicing-base3.C | 112 + gcc/testsuite/g++.dg/reflect/splicing-base4.C | 28 + gcc/testsuite/g++.dg/reflect/storage_duration1.C | 141 + gcc/testsuite/g++.dg/reflect/storage_duration2.C | 218 + gcc/testsuite/g++.dg/reflect/storage_duration3.C | 19 + gcc/testsuite/g++.dg/reflect/subobjects_of1.C | 214 + gcc/testsuite/g++.dg/reflect/substitute1.C | 238 + gcc/testsuite/g++.dg/reflect/substitute2.C | 30 + gcc/testsuite/g++.dg/reflect/symbol_of1.C | 61 + gcc/testsuite/g++.dg/reflect/symbol_of2.C | 6 + .../g++.dg/reflect/template_arguments_of1.C | 36 + .../g++.dg/reflect/template_arguments_of2.C | 107 + .../g++.dg/reflect/template_arguments_of3.C | 18 + gcc/testsuite/g++.dg/reflect/template_of1.C | 119 + gcc/testsuite/g++.dg/reflect/template_of2.C | 32 + gcc/testsuite/g++.dg/reflect/template_of3.C | 22 + gcc/testsuite/g++.dg/reflect/tuple1.C | 86 + gcc/testsuite/g++.dg/reflect/tuple2.C | 21 + gcc/testsuite/g++.dg/reflect/type1.C | 190 + gcc/testsuite/g++.dg/reflect/type10.C | 31 + gcc/testsuite/g++.dg/reflect/type2.C | 58 + gcc/testsuite/g++.dg/reflect/type3.C | 37 + gcc/testsuite/g++.dg/reflect/type4.C | 136 + gcc/testsuite/g++.dg/reflect/type5.C | 10 + gcc/testsuite/g++.dg/reflect/type6.C | 25 + gcc/testsuite/g++.dg/reflect/type7.C | 15 + gcc/testsuite/g++.dg/reflect/type8.C | 76 + gcc/testsuite/g++.dg/reflect/type9.C | 49 + gcc/testsuite/g++.dg/reflect/type_of1.C | 190 + gcc/testsuite/g++.dg/reflect/type_of2.C | 31 + gcc/testsuite/g++.dg/reflect/type_rels1.C | 141 + gcc/testsuite/g++.dg/reflect/type_trait1.C | 654 ++ gcc/testsuite/g++.dg/reflect/type_trait10.C | 116 + gcc/testsuite/g++.dg/reflect/type_trait11.C | 447 + gcc/testsuite/g++.dg/reflect/type_trait12.C | 137 + gcc/testsuite/g++.dg/reflect/type_trait13.C | 425 + gcc/testsuite/g++.dg/reflect/type_trait2.C | 92 + gcc/testsuite/g++.dg/reflect/type_trait3.C | 218 + gcc/testsuite/g++.dg/reflect/type_trait4.C | 12 + gcc/testsuite/g++.dg/reflect/type_trait5.C | 453 + gcc/testsuite/g++.dg/reflect/type_trait6.C | 1381 ++++ gcc/testsuite/g++.dg/reflect/type_trait8.C | 129 + gcc/testsuite/g++.dg/reflect/type_trait9.C | 67 + .../g++.dg/reflect/u8display_string_of1.C | 230 + gcc/testsuite/g++.dg/reflect/u8identifier_of1.C | 168 + gcc/testsuite/g++.dg/reflect/u8symbol_of1.C | 61 + gcc/testsuite/g++.dg/reflect/underlying_type1.C | 13 + gcc/testsuite/g++.dg/reflect/using1.C | 13 + gcc/testsuite/g++.dg/reflect/value_or_object1.C | 50 + gcc/testsuite/g++.dg/reflect/variable_of1.C | 136 + gcc/testsuite/g++.dg/reflect/variable_of2.C | 21 + gcc/testsuite/g++.dg/reflect/variable_of3.C | 28 + gcc/testsuite/g++.dg/reflect/variant1.C | 37 + gcc/testsuite/g++.dg/reflect/variant2.C | 19 + gcc/testsuite/g++.dg/reflect/vector1.C | 28 + gcc/testsuite/g++.dg/reflect/visibility1.C | 121 + gcc/testsuite/g++.old-deja/g++.other/lineno2.C | 8 +- gcc/testsuite/g++.old-deja/g++.pt/t37.C | 10 +- gcc/testsuite/gcc.c-torture/compile/pr120250.c | 38 + gcc/testsuite/gcc.dg/Wstrict-overflow-1.c | 13 - gcc/testsuite/gcc.dg/asm-hard-reg-error-1.c | 3 +- gcc/testsuite/gcc.dg/asm-hard-reg-error-6.c | 35 + gcc/testsuite/gcc.dg/counted-by-anonymous-2-char.c | 8 + .../gcc.dg/counted-by-anonymous-2-float.c | 8 + .../gcc.dg/counted-by-anonymous-2-struct.c | 16 + .../gcc.dg/counted-by-anonymous-2-union.c | 16 + gcc/testsuite/gcc.dg/counted-by-anonymous-2.c | 66 + gcc/testsuite/gcc.dg/counted-by-anonymous-3.c | 44 + gcc/testsuite/gcc.dg/counted-by-anonymous.c | 163 + gcc/testsuite/gcc.dg/guality/guality.exp | 7 +- .../hierarchical-discriminator-loop-version.c | 28 + .../gcc.dg/hierarchical-discriminator-unroll.c | 37 + .../hierarchical-discriminator-vect-version.c | 17 + gcc/testsuite/gcc.dg/ipa/pr123542.c | 13 + gcc/testsuite/gcc.dg/pr123109.c | 25 + gcc/testsuite/gcc.dg/pr123309.c | 13 + gcc/testsuite/gcc.dg/pr123544.c | 44 + gcc/testsuite/gcc.dg/torture/pr120322.c | 33 + gcc/testsuite/gcc.dg/torture/pr123530.c | 6 + gcc/testsuite/gcc.dg/tree-ssa/bitops-14.c | 24 + gcc/testsuite/gcc.dg/tree-ssa/bitops-15.c | 24 + gcc/testsuite/gcc.dg/tree-ssa/vrp99.c | 2 +- .../gcc.dg/ubsan/counted-by-anonymous-bounds-1.c | 60 + .../gcc.dg/ubsan/counted-by-anonymous-bounds-2.c | 66 + .../gcc.dg/ubsan/counted-by-anonymous-bounds.c | 23 + gcc/testsuite/gcc.dg/union-composite-type.c | 8 + .../complex/fast-math-complex-add-half-float.c | 2 +- .../vect/costmodel/x86_64/costmodel-pr123190-1.c | 38 + .../vect/costmodel/x86_64/costmodel-pr123190-2.c | 7 + gcc/testsuite/gcc.dg/vect/fast-math-slp-38.c | 2 +- gcc/testsuite/gcc.dg/vect/slp-28.c | 1 + .../gcc.target/aarch64/dbl_mov_immediate_1.c | 4 +- gcc/testsuite/gcc.target/aarch64/pr114528.c | 76 + gcc/testsuite/gcc.target/aarch64/pr63304_1.c | 2 +- gcc/testsuite/gcc.target/aarch64/signbitv2sf.c | 2 + .../gcc.target/aarch64/sve/acle/general/pr123392.c | 10 + .../gcc.target/loongarch/la64/attr-model-6.c | 8 + gcc/testsuite/gcc.target/powerpc/asm-hard-reg-1.c | 10 + gcc/testsuite/gfortran.dg/guality/guality.exp | 7 +- gcc/testsuite/gfortran.dg/namelist_101.f90 | 16 + gcc/testsuite/lib/gcc-dg.exp | 5 +- gcc/testsuite/lib/gcc-gdb-test.exp | 43 +- gcc/testsuite/lib/gcc-simulate-thread.exp | 28 +- gcc/testsuite/lib/scanasm.exp | 4 +- gcc/tree-core.h | 3 +- gcc/tree-pretty-print.cc | 8 +- gcc/tree-pretty-print.h | 3 +- gcc/tree-ssa-loop-ivcanon.cc | 7 +- gcc/tree-vect-loop-manip.cc | 39 + gcc/tree-vect-loop.cc | 26 +- gcc/tree-vect-stmts.cc | 14 +- gcc/tree-vectorizer.h | 1 + gcc/tree.h | 23 +- libatomic/ChangeLog | 11 + libcc1/libcp1plugin.cc | 3 +- libcpp/charset.cc | 108 + libcpp/include/cpplib.h | 6 + libcpp/internal.h | 8 + libcpp/lex.cc | 33 +- libgcc/ChangeLog | 17 + libgfortran/ChangeLog | 6 + libgfortran/io/list_read.c | 14 + libgomp/ChangeLog | 173 + .../libgomp.c++/target-std__array-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__array-concurrent.C | 5 + .../target-std__bitset-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__bitset-concurrent.C | 4 + .../libgomp.c++/target-std__deque-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__deque-concurrent.C | 5 + .../target-std__flat_map-concurrent-usm.C | 8 + .../libgomp.c++/target-std__flat_map-concurrent.C | 12 + .../target-std__flat_multimap-concurrent-usm.C | 8 + .../target-std__flat_multimap-concurrent.C | 12 + .../target-std__flat_multiset-concurrent-usm.C | 8 + .../target-std__flat_multiset-concurrent.C | 10 + .../target-std__flat_set-concurrent-usm.C | 8 + .../libgomp.c++/target-std__flat_set-concurrent.C | 10 + .../target-std__forward_list-concurrent-usm.C | 2 +- .../target-std__forward_list-concurrent.C | 5 + .../libgomp.c++/target-std__list-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__list-concurrent.C | 5 + .../libgomp.c++/target-std__map-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__map-concurrent.C | 8 + .../target-std__multimap-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__multimap-concurrent.C | 18 +- .../target-std__multiset-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__multiset-concurrent.C | 8 + .../libgomp.c++/target-std__set-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__set-concurrent.C | 8 + .../libgomp.c++/target-std__span-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__span-concurrent.C | 5 + .../target-std__unordered_map-concurrent-usm.C | 6 + .../target-std__unordered_map-concurrent.C | 12 + ...target-std__unordered_multimap-concurrent-usm.C | 6 + .../target-std__unordered_multimap-concurrent.C | 12 + ...target-std__unordered_multiset-concurrent-usm.C | 6 + .../target-std__unordered_multiset-concurrent.C | 10 + .../target-std__unordered_set-concurrent-usm.C | 6 + .../target-std__unordered_set-concurrent.C | 10 + .../target-std__valarray-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__valarray-concurrent.C | 5 + .../target-std__vector-concurrent-usm.C | 2 +- .../libgomp.c++/target-std__vector-concurrent.C | 5 + .../libgomp.c-c++-common/map-arrayofstruct-2-usm.c | 6 + .../libgomp.c-c++-common/map-arrayofstruct-3-usm.c | 6 + .../libgomp.c-c++-common/struct-elem-5-usm.c | 6 + .../libgomp.c-c++-common/target-present-1-usm.c | 6 + .../libgomp.c-c++-common/target-present-2-usm.c | 6 + .../libgomp.c-c++-common/target-present-3-usm.c | 6 + libgomp/testsuite/libgomp.c/pr122852.c | 24 + .../libgomp.fortran/map-subarray-5-usm.f90 | 8 + .../libgomp.fortran/map-subarray-6-usm.f90 | 8 + .../libgomp.fortran/map-subarray-7-usm.f90 | 6 + .../libgomp.fortran/target-allocatable-1-1-usm.f90 | 7 + .../libgomp.fortran/target-allocatable-1-1.f90 | 4 + .../libgomp.fortran/target-allocatable-1-2-usm.f90 | 7 + .../libgomp.fortran/target-allocatable-1-2.f90 | 4 + .../libgomp.fortran/target-enter-data-2-usm.F90 | 7 + .../libgomp.fortran/target-present-1-usm.f90 | 7 + .../testsuite/libgomp.fortran/target-present-1.f90 | 6 + .../libgomp.fortran/target-present-2-usm.f90 | 7 + .../testsuite/libgomp.fortran/target-present-2.f90 | 6 + .../libgomp.fortran/target-present-3-usm.f90 | 7 + .../testsuite/libgomp.fortran/target-present-3.f90 | 6 + libstdc++-v3/ChangeLog | 13 + libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/bits/iterator_concepts.h | 2 +- libstdc++-v3/include/bits/stl_heap.h | 8 +- libstdc++-v3/include/bits/version.def | 9 + libstdc++-v3/include/bits/version.h | 10 + libstdc++-v3/include/precompiled/stdc++.h | 1 + libstdc++-v3/include/std/meta | 653 ++ libstdc++-v3/include/std/type_traits | 60 +- libstdc++-v3/src/c++23/std.cc.in | 255 + .../requirements/explicit_instantiation.cc | 12 + .../is_consteval_only/requirements/typedefs.cc | 16 + .../testsuite/20_util/is_consteval_only/value.cc | 30 + .../requirements/explicit_instantiation.cc | 12 + .../20_util/is_reflection/requirements/typedefs.cc | 16 + .../testsuite/20_util/is_reflection/value.cc | 20 + .../20_util/variable_templates_for_traits.cc | 10 + .../sort_heap/check_proxy_brackets.cc | 67 + libstdc++-v3/testsuite/util/testsuite_iterators.h | 201 + 723 files changed, 53805 insertions(+), 1014 deletions(-)
