+2001-12-04 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb:
+ (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
+ (Discrimify): Go back to setting the Etypes of the selected component
+ because the Vname component does not exist at this point and will
+ fail name resolution. Also set Analyzed.
+ Remove with and use of Sem_Res.
+
2001-12-04 Arnaud Charlet <charlet@gnat.com>
* Makefile.in: (HIE_SOURCES): add s-fat*.
with Sem; use Sem;
with Sem_Ch13; use Sem_Ch13;
with Sem_Eval; use Sem_Eval;
-with Sem_Res; use Sem_Res;
+-- with Sem_Res; use Sem_Res;
with Sem_Util; use Sem_Util;
with Sinfo; use Sinfo;
with Snames; use Snames;
end if;
end Min_Discrim;
- -- Start of processing for Layout_Array_Type
+ -- Start of processing for Get_Max_Size
begin
pragma Assert (Size_Depends_On_Discriminant (E));
Prefix => Make_Identifier (Loc, Chars => Vname),
Selector_Name => New_Occurrence_Of (Entity (N), Loc));
- Analyze_And_Resolve (N, Typ);
+ -- Set the Etype attributes of the selected name and its prefix.
+ -- Analyze_And_Resolve can't be called here because the Vname
+ -- entity denoted by the prefix will not yet exist (it's created
+ -- by SO_Ref_From_Expr, called at the end of Layout_Array_Type).
+
+ Set_Etype (Prefix (N), Vtyp);
+ Set_Etype (N, Typ);
end if;
end Discrimify;