TYPE_MAIN_VARIANT missing somewhere (Was: fix ...)

Martin von Loewis martin@mira.isdn.cs.tu-berlin.de
Sat May 16 01:43:00 GMT 1998


> > 	* search.c (get_base_distance_recursive): Likewise.
[ wrong fix removed ]

> This should be a no-op; BINFO_TYPE (binfo) should always be the
> TYPE_MAIN_VARIANT.  If it isn't, that's a bug.

OK, I've distilled this into a smaller test case. I get

s.cc: In method `X<B>::X<B1>()':
s.cc:4: type `B1' is not a base type for type `X<B>'

with gcc version egcs-2.91.28 19980508 (gcc2 ss-980502 experimental)

//Build don't link:
template<class T>
struct X: T{
  X() : T(){}
};

struct B{};

typedef B B1;

X<B1> x;
  



More information about the Gcc-bugs mailing list