https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123827
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
CC| |mpolacek at gcc dot gnu.org
Last reconfirmed| |2026-01-26
Ever confirmed|0 |1
--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
$ xg++ -c -std=c++26 -freflection 123827.C
123827.C: In instantiation of ‘struct MetaTypesHolder<(&
v)->std::array<std::meta::info, 1>::operator[](0)>’:
required from ‘consteval auto to_types_holder_impl(const auto:6&,
std::index_sequence<Is ...>) [with long unsigned int ...Is = {0}; auto:6 =
std::array<std::meta::info, 1>; std::index_sequence<Is ...> =
std::integer_sequence<long unsigned int, 0>]’
123827.C:10:38:
10 | return MetaTypesHolder<v[Is]...>{};
| ^
required from ‘consteval auto to_types_holder(const auto:7&) [with long
unsigned int N = 1; auto:7 = std::array<std::meta::info, 1>]’
123827.C:15:32:
15 | return to_types_holder_impl(v, std::make_index_sequence<N>{});
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
required from here
123827.C:30:30:
30 | return to_types_holder<1>(std::array{^^int});
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
123827.C:6:24: internal compiler error: in verify_unstripped_args_1, at
cp/pt.cc:1246
6 | struct MetaTypesHolder {};
| ^
0x318258a internal_error(char const*, ...)
/home/mpolacek/src/gcc/gcc/diagnostic-global-context.cc:787
0x3190e95 fancy_abort(char const*, int, char const*)
/home/mpolacek/src/gcc/gcc/diagnostics/context.cc:1812
0x7a15fb verify_unstripped_args_1
/home/mpolacek/src/gcc/gcc/cp/pt.cc:1246
0x7a155d verify_unstripped_args_1
/home/mpolacek/src/gcc/gcc/cp/pt.cc:1241
0x7a1681 verify_unstripped_args
/home/mpolacek/src/gcc/gcc/cp/pt.cc:1255
0x7a189a retrieve_specialization
/home/mpolacek/src/gcc/gcc/cp/pt.cc:1293
0x7ec0e5 tsubst_decl
/home/mpolacek/src/gcc/gcc/cp/pt.cc:16000
0x7efdd0 tsubst(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:16793
0x7d845e instantiate_class_template(tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:12970
0x90b308 complete_type(tree_node*)
/home/mpolacek/src/gcc/gcc/cp/typeck.cc:138
0x899e5f finish_compound_literal(tree_node*, tree_node*, int, fcl_t)
/home/mpolacek/src/gcc/gcc/cp/semantics.cc:3908
0x812958 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:22524
0x80776d tsubst_stmt
/home/mpolacek/src/gcc/gcc/cp/pt.cc:20561
0x7fd909 tsubst_stmt
/home/mpolacek/src/gcc/gcc/cp/pt.cc:19344
0x801247 tsubst_stmt
/home/mpolacek/src/gcc/gcc/cp/pt.cc:19755
0x82d1e4 instantiate_body
/home/mpolacek/src/gcc/gcc/cp/pt.cc:28363
0x82ec97 instantiate_decl(tree_node*, bool, bool)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:28656
0x5b8ad7 maybe_instantiate_decl(tree_node*)
/home/mpolacek/src/gcc/gcc/cp/decl2.cc:6433
0x5bbbfa mark_used(tree_node*, int)
/home/mpolacek/src/gcc/gcc/cp/decl2.cc:6789
0x42cfd8 build_over_call
/home/mpolacek/src/gcc/gcc/cp/call.cc:11023