4 ms·
If the specification is lax, it's because the expected behavior is different across platforms. C (and C++) has to support platforms where bytes are more than 8
by scatters 4y ago
If the specification is lax, it's because the expected behavior is different across platforms. C (and C++) has to support platforms where bytes are more than 8 bits, where floats are non-IEEE, and (until recently) where signed integers are not 2's complement. If you want a specific behavior and don't care about portability all you have to do is read the ABI spec alongside the standard.
- ncmncm 4y agoYou have wholly missed the point of the warning. It does not matter what the spec says when the instructions fail to implement it, sometimes, on machines other than yours.
- froh 4y agoPlease add endianness (little, big and mixed) to the list, relevant to but field packing, while IEEE floats should not interfere with bit fields.