This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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; };
        ^

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]