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

--- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Patrick Palka from comment #6)
> (In reply to Andrew Pinski from comment #4)
> > (In reply to Andrew Pinski from comment #3) 
> > > I suspect for some reason we think the current instantiation does not 
> > > have a
> > > dependent base for some reason.
> > 
> > That is any_dependent_bases_p is returning false for `struct B<T>::C<n>`
> > type.
> Indeed, so it seems any_dependent_bases_p should recursively consider
> indirect bases.

Yes, at least if the direct base is currently_open_class.

> Or for
> 
>   template<class T>
>   struct B { template<class U> struct C; };
> 
>   template<class T>
>   template<class U>
>   struct B<T>::C : B<T> { }
> 
> should BINFO_DEPENDENT_BASE_P be set on the base B<T>?

No, we want to look into B<T>, it refers to the current instantiation.

Reply via email to