trans.c (elaborate_all_entities): Do not elaborate an incomplete type coming from a limited_with and whose...

* gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
	incomplete type coming from a limited_with and whose non-limited view
	comes from the main unit.

From-SVN: r223772
This commit is contained in:
Eric Botcazou 2015-05-27 19:57:43 +00:00 committed by Eric Botcazou
parent ea023bcfd8
commit 73b4a60f5c
2 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
incomplete type coming from a limited_with and whose non-limited view
comes from the main unit.
2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down

View file

@ -8158,6 +8158,10 @@ elaborate_all_entities (Node_Id gnat_node)
&& Ekind (gnat_entity) != E_Operator
&& !(IN (Ekind (gnat_entity), Type_Kind)
&& !Is_Frozen (gnat_entity))
&& !(IN (Ekind (gnat_entity), Incomplete_Kind)
&& From_Limited_With (gnat_entity)
&& In_Extended_Main_Code_Unit
(Non_Limited_View (gnat_entity)))
&& !((Ekind (gnat_entity) == E_Procedure
|| Ekind (gnat_entity) == E_Function)
&& Is_Intrinsic_Subprogram (gnat_entity))