LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

https://github.com/lattera/glibc/blob/master/sysdeps/ieee754/ieee754.h в глибцах так делают, так что для GCC это не UB

http://stackoverflow.com/a/11640603

Finally, one of the changes from C90 to C99 was to remove any restriction on accessing one member of a union when the last store was to a different one. The rationale was that the behaviour would then depend on the representations of the values. Since this point is often misunderstood, it might well be worth making it clear in the Standard.

Исходная версия SZT, :

https://github.com/lattera/glibc/blob/master/sysdeps/ieee754/ieee754.h в глибцах так делают, так что для GCC это не UB