This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/15538] Misleading diagnostic for recursive template instantiation
- From: "msebor at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 13 Jan 2017 04:35:45 +0000
- Subject: [Bug c++/15538] Misleading diagnostic for recursive template instantiation
- Auto-submitted: auto-generated
- References: <bug-15538-4@http.gcc.gnu.org/bugzilla/>
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; };
^