c++/5723: GCC 3.0.3 crashes when compiling template forward declaration
matthias@schlaffi.walpergenhaus
matthias@schlaffi.walpergenhaus
Mon Feb 18 10:05:00 GMT 2002
>Number: 5723
>Category: c++
>Synopsis: GCC 3.0.3 crashes when compiling template forward declaration
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Mon Feb 18 09:46:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Matthias Kleinmann
>Release: 3.0.3
>Organization:
>Environment:
System: Linux 2.4.17-xfs #2 Sun Feb 3 19:44:37 CET 2002 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc-3.0.3/configure --enable-threads --enable-languages=c,c++
>Description:
g++ segfaults if you correctly do a forward declaration of a class, wich was
previoulsy declared within a template class. Maybe it is not even legal code.
>How-To-Repeat:
compile this as t.cc with "g++ -save-temps t.cc" :
---
template <typename T>
class class1{class class2;};
template <typename T>
class class1<T>::class2;
int main(){return 0;}
---
to produce this t.ii:
---
# 1 "t.cc"
template <typename T>
class class1{class class2;};
template <typename T>
class class1<T>::class2;
int main(){return 0;}
---
and this error:
---
t.cc:5: Internal error: Segmentation fault
---
>Fix:
I do not see any need for such a forward declaration at all.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list