https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80287
--- Comment #1 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- good news is, I already have a patch: Index: gcc/cp/class.c =================================================================== --- gcc/cp/class.c (revision 246605) +++ gcc/cp/class.c (working copy) @@ -2060,12 +2060,14 @@ static void fixup_may_alias (tree klass) { - tree t; + tree t, v; for (t = TYPE_POINTER_TO (klass); t; t = TYPE_NEXT_PTR_TO (t)) - TYPE_REF_CAN_ALIAS_ALL (t) = true; + for (v = TYPE_MAIN_VARIANT (t); v; v = TYPE_NEXT_VARIANT (v)) + TYPE_REF_CAN_ALIAS_ALL (v) = true; for (t = TYPE_REFERENCE_TO (klass); t; t = TYPE_NEXT_REF_TO (t)) - TYPE_REF_CAN_ALIAS_ALL (t) = true; + for (v = TYPE_MAIN_VARIANT (t); v; v = TYPE_NEXT_VARIANT (v)) + TYPE_REF_CAN_ALIAS_ALL (v) = true; } /* Early variant fixups: we apply attributes at the beginning of the class