https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111591
--- Comment #23 from Richard Biener <rguenth at gcc dot gnu.org> --- A less strict patch would remember whether all accesses to the decls coalesced have accesses compatible with a common effective type (just checking whether all decls have the same type isn't enough, even when they are not addressable!), so it's going to be a bit awkward to check - an IL walk noting per decl whether all accesses conform to its declared type might be a good first step, but with C++ abstraction we will likely end up with not many cases that can be easily identifyable as doing so.