“dereferencing type-punned pointer will break strict-aliasing rules” warning
In order: Yes. GCC will assume that the pointers cannot alias. For instance, if you assign through one then read from the other, GCC may, as an optimisation, reorder the read and write – I have seen this happen in production code, and it is not pleasant to debug. Several. You could use a union … Read more