https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123143

            Bug ID: 123143
           Summary: internal compiler error: in lookup_member, at
                    cp/search.cc:1197
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

```
constexpr int x = 42;
struct S { static constexpr int x = 20; template <int N> static constexpr int a
= N; };

template<typename>
void
f ()
{
  constexpr S s;
  static_assert (s.template a<42> == 42);
  static_assert (s.S::template a<42> == 42);
}

void
g ()
{
  f<int>();
}
```

gives

g.C: In instantiation of ‘void f() [with <template-parameter-1-1> = int]’:
required from here
g.C:16:9:   
   16 |   f<int>();
      |   ~~~~~~^~
g.C:10:32: internal compiler error: in lookup_member, at cp/search.cc:1197
   10 |   static_assert (s.S::template a<42> == 42);
      |                  ~~~~~~~~~~~~~~^~~~~
0x3027ca8 internal_error(char const*, ...)
        /home/mpolacek/src/forge/gcc/gcc/diagnostic-global-context.cc:787
0x3036579 fancy_abort(char const*, int, char const*)
        /home/mpolacek/src/forge/gcc/gcc/diagnostics/context.cc:1805
0x870a5c lookup_member(tree_node*, tree_node*, int, bool, int,
access_failure_info*)
        /home/mpolacek/src/forge/gcc/gcc/cp/search.cc:1197
0x6d37fa lookup_qualified_name(tree_node*, tree_node*, LOOK_want, bool)
        /home/mpolacek/src/forge/gcc/gcc/cp/name-lookup.cc:7536
0x7fe4d8 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/forge/gcc/gcc/cp/pt.cc:22359
0x7f8a4c tsubst_expr(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/forge/gcc/gcc/cp/pt.cc:21432
0x7efab1 tsubst_stmt
        /home/mpolacek/src/forge/gcc/gcc/cp/pt.cc:19912
0x7ea936 tsubst_stmt
        /home/mpolacek/src/forge/gcc/gcc/cp/pt.cc:19314
0x7ee335 tsubst_stmt
        /home/mpolacek/src/forge/gcc/gcc/cp/pt.cc:19735
0x8197d2 instantiate_body
        /home/mpolacek/src/forge/gcc/gcc/cp/pt.cc:28329
0x81b262 instantiate_decl(tree_node*, bool, bool)
        /home/mpolacek/src/forge/gcc/gcc/cp/pt.cc:28620
0x81b544 instantiate_pending_templates(int)
        /home/mpolacek/src/forge/gcc/gcc/cp/pt.cc:28695

Reply via email to