2010-06-17 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Jun 2010 15:35:09 +0000 (15:35 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Jun 2010 15:35:09 +0000 (15:35 +0000)
* sem_util.adb: Minor reformatting

2010-06-17  Ed Schonberg  <schonberg@adacore.com>

* sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
instance, the clause now denotes the instance body. Traverse the
corresponding spec because there may be no other dependence that will
force the traversal of its own context.

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

gcc/ada/ChangeLog
gcc/ada/sem.adb
gcc/ada/sem_util.adb

index 278b183..1054620 100644 (file)
@@ -1,3 +1,14 @@
+2010-06-17  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.adb: Minor reformatting
+
+2010-06-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
+       instance, the clause now denotes the instance body. Traverse the
+       corresponding spec because there may be no other dependence that will
+       force the traversal of its own context.
+
 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
 
        * sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
index 8d3ca2a..1eeffcc 100644 (file)
@@ -1701,6 +1701,18 @@ package body Sem is
       procedure Do_Withed_Unit (Withed_Unit : Node_Id) is
       begin
          Do_Unit_And_Dependents (Withed_Unit, Unit (Withed_Unit));
+
+         --  If the unit in the with_clause is a generic instance, the clause
+         --  now denotes the instance body. Traverse the corresponding spec
+         --  because there may be no other dependence that will force the
+         --  traversal of its own context.
+
+         if Nkind (Unit (Withed_Unit)) = N_Package_Body
+           and then Is_Generic_Instance
+             (Defining_Entity (Unit (Library_Unit (Withed_Unit))))
+         then
+            Do_Withed_Unit (Library_Unit (Withed_Unit));
+         end if;
       end Do_Withed_Unit;
 
       ----------------------------
index 06676ea..29ddee9 100644 (file)
@@ -1699,8 +1699,8 @@ package body Sem_Util is
 
             Next_Entity (Id);
 
-            --  For a type declared in System, some of its operations
-            --  may appear in  the target-specific extension to System.
+            --  For a type declared in System, some of its operations may
+            --  appear in the target-specific extension to System.
 
             if No (Id)
               and then Chars (B_Scope) = Name_System