operation on the result of a parameterless call, perform elaboration
check after the node has been properly rewritten.
* sem_ch12.adb (Copy_Generic_Node): after the proper body has been
inlined within the generic tree, the defining identifier is not a
compilation_unit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46510
138bc75d-0d04-0410-961f-
82ee72b054a4
2001-10-25 Ed Schonberg <schonber@gnat.com>
+ * sem_res.adb (Resolve_Call): if the call is actually an indexing
+ operation on the result of a parameterless call, perform elaboration
+ check after the node has been properly rewritten.
+
+ * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
+ inlined within the generic tree, the defining identifier is not a
+ compilation_unit.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
* sem_res.adb (Resolve): special-case resolution of Null in an
instance or an inlined body to avoid view conflicts.
Empty, Instantiating => False);
-- Now place the original proper body in the original
- -- generic unit.
+ -- generic unit. This is a body, not a compilation unit.
Rewrite (N, Proper_Body (Unit (Subunit)));
+ Set_Is_Compilation_Unit (Defining_Entity (N), False);
Set_Was_Originally_Stub (N);
-- Finally replace the body of the subunit with its copy,
Index_Node : Node_Id;
begin
- Check_Elab_Call (N);
if Component_Type (Etype (Nam)) /= Any_Type then
Index_Node :=
Set_Etype (Prefix (N), Etype (Nam));
Set_Etype (N, Typ);
Resolve_Indexed_Component (N, Typ);
+ Check_Elab_Call (Prefix (N));
end if;
return;