gcc 3.3 problem with member template specialization

Stefan Meinlschmidt Meinlschmidt@informatik.uni-erlangen.de
Fri May 23 12:24:00 GMT 2003


Hi there!

Sorry for me using mail and not the web form, but I do not have an accout
on your new&fancy bugzilla, and honestly I do not intend to get one. I
found it quite handy to ``anonymously'' (i.e. email only) use gnatsweb and
I would apreciate the same on bugzilla, or at least a line on the login
page, telling me why I should want an own account.

Originator: Stefan Meinlschmidt

Synopsis: gcc 3.3 stumbles on member class template specialization

Severity: serious

Priority: medium

Category: c++

Class: rejects-legal

Release: gcc (GCC) 3.3 20030226 (prerelease) (SuSE Linux)

Environment: PC w/ SuSE-Linux quite out-of-the-box

Description:
When user-specializing a class template that is defined inside another
class as private, gcc 3.3 nags about it being private. gcc 3.2 accepts it.

How-To-Repeat:
--- snip ---
class Outer {
#ifdef WORKAROUND
public:
#endif
  template<typename T> class Inner;  // error: `template<class T> class Outer::Inner' is private
};

template<typename T> class Outer::Inner      {};
template<>           class Outer::Inner<int> {};  // error: within this context
--- snip ---

Fix: #define WORKAROUND :-)

Regards,
S.M.
-- 
meinlschmidt@informatik.uni-erlangen.de  Stefan Meinlschmidt |    __
                                            Hofmannstr. 118a |   (oo)
Tel.: 09131/85-29922                          91052 Erlangen |   /\/\
_____________________________________________________________|  ((  ))
      Btw: Was nicht fliegen kann, kann auch nicht abstuerzen.  O -- O



More information about the Gcc-bugs mailing list