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

            Bug ID: 118368
           Summary: 'baselink' not supported by dump_type<type error>
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

Take:
```

template<typename T, typename T1=int>
struct holder
{
  template<typename F> struct fn {};

  struct t2 : holder<T>::template fn<T> {};
};
template<>
struct holder<int, int>
{
 template<typename F> 
 void fn();
};

holder<int, float>::t2 holder_1;
```

GCC gives:
```
<source>: In instantiation of 'struct holder<int, float>::t2':
<source>:16:24:   required from here
   16 | holder<int, float>::t2 holder_1;
      |                        ^~~~~~~~
<source>:7:10: error: 'typename holder<int, int>::fn' names ''baselink' not
supported by dump_type<type error>', which is not a class template
    7 |   struct t2 : holder<T>::template fn<T> {};          // fail
      |          ^~
```

Having an error message is correct but we get "'baselink' not supported by
dump_type<type error>" which is not something which we should get.

Found while looking into PR 118347.

Reply via email to