https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115177
--- Comment #5 from Martin Uecker <muecker at gwdg dot de> --- If we do want to constrain the type, we should make them incompatible at the language level. Aliasing is secondary. From a safety perspective, it is always safer to allow aliasing, because the optimizer breaks code that assumes otherwise but not vice versa.