Bug 3350 - another ICE (Error reporting routines re-entered)
Summary: another ICE (Error reporting routines re-entered)
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: gcc3.2-c++ (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-12-07 20:54 MSK by Alexey Voinov
Modified: 2008-04-23 12:03 MSD (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Voinov 2003-12-07 20:54:43 MSK
$ cat > a.cc
template <typename T> struct struct1: public T
{ struct1() : T() {} };
void g(void) { struct1<int *> c; }

$ g++ a.cc
a.cc: In instantiation of `struct1<int*>':
a.cc:3:   instantiated from here
a.cc:3: base type `int*' fails to be a struct or class type
a.cc: In constructor `struct1<T>::struct1() [with T = int*]':
a.cc:3:   instantiated from here
a.cc:2: type `
Internal compiler error: Error reporting routines re-entered.
Comment 1 Alexey Voinov 2003-12-30 14:40:52 MSK
$ g++-3.3 test.cc
test.cc: In instantiation of `struct1<int*>':
test.cc:3:   instantiated from here
test.cc:3: error: base type `int*' fails to be a struct or class type
test.cc: In constructor `struct1<T>::struct1() [with T = int*]':
test.cc:3:   instantiated from here
test.cc:2: error: type `
Internal compiler error: Error reporting routines re-entered.
Comment 2 Alexey Voinov 2005-01-11 18:35:54 MSK
still in gcc3.4
Comment 3 Dmitry V. Levin 2006-05-27 04:04:16 MSD
Fixed in g++ 4.1.1:
a.cc: In instantiation of 'struct1<int*>':
a.cc:3:   instantiated from here
a.cc:2: error: base type 'int*' fails to be a struct or class type
a.cc: In constructor 'struct1<T>::struct1() [with T = int*]':
a.cc:3:   instantiated from here
a.cc:2: error: type 'int*' is not a direct base of 'struct1<int*>'
Comment 4 Dmitry V. Levin 2006-05-27 04:04:34 MSD
Fixed in g++ 4.1.1:
a.cc: In instantiation of 'struct1<int*>':
a.cc:3:   instantiated from here
a.cc:2: error: base type 'int*' fails to be a struct or class type
a.cc: In constructor 'struct1<T>::struct1() [with T = int*]':
a.cc:3:   instantiated from here
a.cc:2: error: type 'int*' is not a direct base of 'struct1<int*>'