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++/52126] [4.7 Regression] compilation error


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52126

--- Comment #6 from fabien at gcc dot gnu.org 2012-02-16 09:57:20 UTC ---
(In reply to comment #5)
> (In reply to comment #2)
> > Further investigation shows that the issue appears only when inheritance from
> > the template class (class B : private A<T>) is provided explicitly. According
> > to the standard a nested class defined inside a class template is implicitly
> > template as well.
> 
> I don't think that's relevant.  The point is that the injected-class-name 'A'
> and 'A<T>' both refer to the class template, and should work equivalently.

Yes, they should. The first bug is that 'A' does not behave like 'A<T>' -- I
have fixed it. The second bug is that 'A<T>' as a base for a nested class does
not currently work if A is also an enclosing class. I have tested a patch, but
it is not quite ready.


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