[Bug c++/15538] Misleading diagnostic for recursive template instantiation

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Aug 5 02:38:55 GMT 2021


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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |7.0

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Martin Sebor from comment #8)
> No change in GCC 7.0.

> t.C: In instantiation of ‘struct A<H<bool> >’:
> t.C:5:8:   required from ‘struct H<bool>’
> t.C:7:9:   required from here
> t.C:2:26: error: invalid use of incomplete type ‘struct H<bool>’
>  struct A { typename D::Q r;};
>                           ^
> t.C:5:8: note: declaration of ‘struct H<bool>’
>  struct H : A<H<G> > { typedef G* Q; };
>         ^

No that is what we want.  Before it was "no type named 'Q' in 'struct
H<bool>'".


More information about the Gcc-bugs mailing list