* Integers are two's complement. Testing that the bitwise complement
of the representation of -1 is zero is sufficient, because C99
6.2.6.2 only allows sign and magnitude, one's complement, and two's
complement as representations.
* Integer values with sign bit one and value bits zero are valid and
not trap representations. C99 6.2.6.2 allows such a value to be a
trap representation. Testing that the declared integer value bounds
are asymmetric in magnitude is sufficient.
* Conversion of an unsigned integer value that is not representable in
the corresponding signed type preserves the bit pattern. C99
6.3.1.3 says this is implementation-defined, or raises an
implementation-defined signal. Exhaustively checking for the
desired behavior is prohibitive, so this spot check will have to do.