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

Reply via email to