OSDN Git Service

* sem.adb (Walk_Library_Items): Include bodies in the list of units to
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Jun 2009 10:49:31 +0000 (10:49 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Jun 2009 10:49:31 +0000 (10:49 +0000)
traverse, to account for front-end inlining and instantiations in a
spec or in the main unit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148695 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/sem.adb

index d2b54c3..94cfbdc 100644 (file)
@@ -1514,9 +1514,9 @@ package body Sem is
       --  Calls Action, with some validity checks
 
       procedure Do_Unit_And_Dependents (CU : Node_Id; Item : Node_Id);
-      --  Calls Do_Action, first on the units with'ed by this one, then on this
-      --  unit. If it's an instance body, do the spec first. If it's an
-      --  instance spec, do the body last.
+      --  Calls Do_Action, first on the units with'ed by this one, then on
+      --  this unit. If it's an instance body, do the spec first. If it is
+      --  an instance spec, do the body last.
 
       ---------------
       -- Do_Action --
@@ -1530,21 +1530,25 @@ package body Sem is
          pragma Assert (No (CU) or else Nkind (CU) = N_Compilation_Unit);
 
          case Nkind (Item) is
-            when N_Generic_Subprogram_Declaration     |
-              N_Generic_Package_Declaration           |
-              N_Package_Declaration                   |
-              N_Subprogram_Declaration                |
-              N_Subprogram_Renaming_Declaration       |
-              N_Package_Renaming_Declaration          |
-              N_Generic_Function_Renaming_Declaration |
-              N_Generic_Package_Renaming_Declaration  |
-              N_Generic_Procedure_Renaming_Declaration =>
-               null;  --  Specs are OK
+            when N_Generic_Subprogram_Declaration        |
+                 N_Generic_Package_Declaration           |
+                 N_Package_Declaration                   |
+                 N_Subprogram_Declaration                |
+                 N_Subprogram_Renaming_Declaration       |
+                 N_Package_Renaming_Declaration          |
+                 N_Generic_Function_Renaming_Declaration |
+                 N_Generic_Package_Renaming_Declaration  |
+                 N_Generic_Procedure_Renaming_Declaration =>
+
+               --  Specs are OK
+
+               null;
+
+            when N_Package_Body  =>
 
                --  Package bodies are processed immediately after the
                --  corresponding spec.
 
-            when N_Package_Body  =>
                null;
 
             when  N_Subprogram_Body =>
@@ -1557,9 +1561,9 @@ package body Sem is
 
             --  All other cases cannot happen
 
-            when N_Function_Instantiation |
-              N_Procedure_Instantiation   |
-              N_Package_Instantiation     =>
+            when N_Function_Instantiation  |
+                 N_Procedure_Instantiation |
+                 N_Package_Instantiation   =>
                pragma Assert (False, "instantiation");
                null;