This disconnects a good chunk of the alias set circuitry in ASIS mode because it was bypassing kludges put in place for this mode specifically.
Tested on x86_64-suse-linux, applied on the mainline. 2013-08-13 Eric Botcazou <ebotca...@adacore.com> * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias sets of derived types in ASIS mode. -- Eric Botcazou
Index: gcc-interface/decl.c =================================================================== --- gcc-interface/decl.c (revision 201704) +++ gcc-interface/decl.c (working copy) @@ -5153,7 +5153,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entit to conflict with Comp2 and an alias set copy is required. The language rules ensure the parent type is already frozen here. */ - if (Is_Derived_Type (gnat_entity)) + if (Is_Derived_Type (gnat_entity) && !type_annotate_only) { tree gnu_parent_type = gnat_to_gnu_type (Etype (gnat_entity)); relate_alias_sets (gnu_type, gnu_parent_type,