trans.c (process_freeze_entity): Be prepared for a package without body.
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 13 Dec 2017 09:18:24 +0000 (09:18 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 13 Dec 2017 09:18:24 +0000 (09:18 +0000)
* gcc-interface/trans.c (process_freeze_entity): Be prepared for a
package without body.

From-SVN: r255601

gcc/ada/ChangeLog
gcc/ada/gcc-interface/trans.c

index 70c596efbaef6eb57642c9de057df9c1a20e53d9..534b8cf92a11d8c82b9d610470243f992e84654b 100644 (file)
@@ -1,3 +1,8 @@
+2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (process_freeze_entity): Be prepared for a
+       package without body.
+
 2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc-interface/decl.c (gnat_to_gnu_entity): Robustify test for types
index 4739923a09dde8870f6d520f8f078ef98c3f9074..7a83acfd0b40af7e24948e778b6a7f76544870f1 100644 (file)
@@ -8718,12 +8718,12 @@ process_freeze_entity (Node_Id gnat_node)
   const Entity_Kind kind = Ekind (gnat_entity);
   tree gnu_old, gnu_new;
 
-  /* If this is a package, we need to generate code for the package.  */
+  /* If this is a package, generate code for the package body, if any.  */
   if (kind == E_Package)
     {
-      insert_code_for
-       (Parent (Corresponding_Body
-                (Parent (Declaration_Node (gnat_entity)))));
+      const Node_Id gnat_decl = Parent (Declaration_Node (gnat_entity));
+      if (Present (Corresponding_Body (gnat_decl)))
+       insert_code_for (Parent (Corresponding_Body (gnat_decl)));
       return;
     }