Kaffe bug on PC

John D. Gwinner gwinner at northnet.org
Wed Oct 29 12:31:58 PST 1997


Michael:
...
> it has to do with the difference between the compilers
> and the way they handle unions. The size of the slots
> union is 8 bytes. I see the pointer in the upper 4
> bytes in both the PC and Solaris. gcc takes the pointer
> correctly. VC++ takes the lower 4 bytes which are NULL.
> I'll address this problem today and broadcast the fix.
> It smell like a fundamental issue for PC.

Just to cover all bases, have you examined the packing (#pragma pack)?  I
don't think there is a guaranteed byte placement within a union, but I
could be wrong -- I'm just guessing.

Are you using INT64 for the 8 byte quantity to break out the 4 bytes? 
That might be one way to go.

		== John ==



More information about the kaffe mailing list