diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2015-05-27 19:57:43 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2015-05-27 19:57:43 +0000 |
commit | 73b4a60f5cac0df12dd2346cf3963d9700e8e205 (patch) | |
tree | a1a7a27513bfdb94830d9392e099cbc88b24502e /gcc | |
parent | ea023bcfd8a6549df22232792038310fd4f2f967 (diff) | |
download | gcc-73b4a60f5cac0df12dd2346cf3963d9700e8e205.zip gcc-73b4a60f5cac0df12dd2346cf3963d9700e8e205.tar.gz gcc-73b4a60f5cac0df12dd2346cf3963d9700e8e205.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 98d5ea9..073172e 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,11 @@ 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 code applying atomic checks to the object. diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 7fc8a5c..c3b06c2 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -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)) |