This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
ICE if missing class member is used in 2.95.2
- To: gcc-bugs at gcc dot gnu dot org
- Subject: ICE if missing class member is used in 2.95.2
- From: Stefan Vogtner <stefan at vogtner dot de>
- Date: Fri, 17 Dec 1999 09:00:31 +0100
- Organization: Linux Surveillance
- Reply-To: gcc-bugs at vogtner dot de
Output:
gcc 2.95.2:
> g++ n2.cc
n2.cc: In method `ClassA::ClassA(const char *)':
n2.cc:20: Internal compiler error.
n2.cc:20: Please submit a full bug report.
n2.cc:20: See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport>
for instructions.
egcs-2.91.66:
> /usr/bin/g++ n2.cc
n2.cc: In method `ClassA::ClassA(const char *)':
n2.cc:20: warning: invalid use of type decl `class base<int>' as
expression
n2.cc:21: Internal compiler error 40.
n2.cc:21: Please submit a full bug report to
`egcs-bugs@egcs.cygnus.com'.
n2.cc:21: See <URL:http://egcs.cygnus.com/faq.html#bugreport> for
details.
GCC Version:
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release), and
gcc version 2.95.2 19991024 (release)
System type:
Linux client0 2.2.13 #1 Mon Nov 8 15:51:29 CET 1999 i586 unknown
Compile Options:
none
CODE:
template<class T>
class base { };
class ClassA_;
class ClassA : public base<int> {
ClassA_ &l;
public:
ClassA (const char *path);
~ClassA ();
};
class ClassA_ {
public:
// base<int> base;
ClassA_ (const char *s) { }
~ClassA_ () { }
};
ClassA::ClassA (const char *s)
: l (*new ClassA_ (s)), base<int> (l.base)
{
}
ClassA::~ClassA ()
{
delete &l;
}
--
|
| Stefan Vogtner
|
|