Hmmm. You know that the signedness of char is not defined?
It is defined, but implementation-defined. Maybe you mean that "plain" char is a separate type from both signed char and unsigned char?
Besides that, we definitely should enable -fno-strict-aliasing in the gcc flags until we have audited all casts.
Well certainly as long as GCC keeps spitting warnings about this, it almost never gets these warnings wrong.
Segher