https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
--- Comment #94 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- I always wondered why get_alias_set does not use the may_alias attribute like this: Index: alias.c =================================================================== --- alias.c (revision 246605) +++ alias.c (working copy) @@ -928,6 +928,9 @@ get_alias_set (tree t) return 0; } + if (lookup_attribute ("may_alias", TYPE_ATTRIBUTES (t))) + return 0; + /* See if the language has special handling for this type. */ set = lang_hooks.get_alias_set (t); if (set != -1) this would fix the remaining fall-out.