https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93246
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- Oh, and even when re-instantiating that we run into the fact that indirect_ref_may_alias_decl_p (and indirect_refs_may_alias_p) use a "base"-alias set to disambiguate further and getting the base alias set doesn't "stop" at the zero alias-set barrier but figures 'Optional' can be used. And with GCC 6 we don't have that special-casing of typeless storage which means the barrier doesn't exist and everything works OK.