c++/10887: [3.3/3.4 regression] specialization of private members structs fails
Matthias Klose <[email protected]>
| Newsgroups | gmane.comp.gcc.prs |
|---|---|
| Message-ID | <[email protected]> |
>Number: 10887 >Category: c++ >Synopsis: [3.3/3.4 regression] specialization of private members structs fails >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Tue May 20 21:36:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Herbert Valerio Riedel <[email protected]> >Release: 3.3 (Debian) (Debian testing/unstable) >Organization: The Debian Project >Environment: >Description: [ Reported to the Debian BTS as report #193830. Please CC [email protected] on replies. Log of report can be found at http://bugs.debian.org/193830 ] 3.3 and 3.4 CVS 20030501 fail to compile the following code (which would compile with previous g++ versions): $ cat in_class_class.cc class Foo { template <class T> struct InFoo; }; template<> struct Foo::InFoo<int> { // ... }; $ g++ -c in_class_class.cc in_class_class.cc:2: error: `template<class T> struct Foo::InFoo' is private in_class_class.cc:6: error: within this context $ >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: