https://gcc.gnu.org/bugzilla/show_bug.cgi?id=15538
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail|6.0 |6.3.0, 7.0
--- Comment #8 from Martin Sebor <msebor at gcc dot gnu.org> ---
No change in GCC 7.0.
$ cat t.C && gcc -S t.C
template <typename D>
struct A { typename D::Q r;};
template<typename G>
struct H : A<H<G> > { typedef G* Q; };
H<bool> h;
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; };
^