This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

ICE if missing class member is used in 2.95.2


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
                                                        |
                                                        |


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]