[m32c] type precedence rules and pointer signs
DJ Delorie
dj@redhat.com
Thu Jan 31 20:11:00 GMT 2008
> The problem you are running into is that sizeof(sizetype) !=
> sizeof(void *). In the middle-end the type used as offset
> (sizetype) doesn't have a defined signedness (it's unsigned for C,
> signed for Ada for example), so we rely on the fact that its size
> should match that of pointers (as then we don't need to worry about
> sign or zero extension).
That kind of assumption just isn't going to work for m32c, because
there aren't enough pointer-sized operators to satisfy gcc, so pointer
math has to be done in a smaller mode. Doing it in a larger mode is
way too slow (all emulated math).
So... now what?
More information about the Gcc
mailing list