https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115177
--- Comment #4 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- One could argue either way. As a hardened type, discouraging aliasing that would bypass the hardening could also make sense. It was modeled after Ada, whose aliasing is much stricter, but I guess in C it is reasonable to make it more C-like in C, and allow it to alias with the underlying integral type. The feature request did not specify it either way, so I suspect reliable lax aliasing was not expected.