It appears Solaris's cc is ignoring the signedness of bitfield types.