ICE in recent snapshots: Tree check: expected class 'd', have 'x' , (overload)

Richard B. Kreckel kreckel@ginac.de
Mon Nov 6 12:01:00 GMT 2000


Hi,

I didn't get these about two or three months ago, but can't tell when
exactly they appeared.  Here is a small program to reproduce the ICE (it
may be worth mentioning that it depends on the seemingly innocent dcl'n of
make_foo(int)): 

struct foo {
private:
	unsigned long length;
	char data[1];
	foo ();
public:
	friend foo* make_foo (int);
	friend foo* make_foo (const char *);
};

struct bar {
private:
	foo * pointer;
public:
	bar (const char * s);
};

inline bar::bar (const char * s)
{
	extern foo* make_foo (const char *);
	pointer = make_foo(s);
}

Here is what happens:

baryon:~/projects/gccbug$ /temp/bin/c++ -c bug17.cpp 
optest5.cpp: In constructor `bar::bar(const char *)':
optest5.cpp:20: Tree check: expected class 'd', have 'x' (overload)
optest5.cpp:20: Internal compiler error in , at ../egcs-20001023/gcc/cp/decl.c:
   3854
   Please submit a full bug report.
   See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.

Regards
     -rbk.
-- 
Richard B. Kreckel
<kreckel@ginac.de>
< http://wwwthep.physik.uni-mainz.de/~kreckel/ >




More information about the Gcc-bugs mailing list