]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Thu, 17 Oct 2013 14:09:14 +0000 (16:09 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 17 Oct 2013 14:09:14 +0000 (16:09 +0200)
2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Dependency_Clause):
Recognize the scenario where successful clause matching has
depleted the available refinement items and the clause to match
technically refines to null => null.

2013-10-17  Tristan Gingold  <gingold@adacore.com>

* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
External_Name instead of Link_Name for the RTTI declaration.

From-SVN: r203769

gcc/ada/ChangeLog
gcc/ada/exp_prag.adb
gcc/ada/sem_prag.adb

index 0bcbc7ca1d8344db380fdc332d4b7a25f6c1417c..8a8bcb43e29fb60a11a3508d9d4eea57f1e024bd 100644 (file)
@@ -1,3 +1,15 @@
+2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Check_Dependency_Clause):
+       Recognize the scenario where successful clause matching has
+       depleted the available refinement items and the clause to match
+       technically refines to null => null.
+
+2013-10-17  Tristan Gingold  <gingold@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
+       External_Name instead of Link_Name for the RTTI declaration.
+
 2013-10-17  Robert Dewar  <dewar@adacore.com>
 
        * sem_prag.adb (Record_Possible_Body_Reference): Fix test for
index f4314780f9ec359649d6670f0efd82ae3f1ecf1f..693aac9b35f12c4627846c5fb4f308ae0011f46d 100644 (file)
@@ -628,7 +628,7 @@ package body Exp_Prag is
                     Expression => Make_Identifier (Loc, Chars (Dum))),
 
                   Make_Pragma_Argument_Association (Loc,
-                    Chars => Name_Link_Name,
+                    Chars => Name_External_Name,
                     Expression => Relocate_Node (Rtti_Name))))));
 
             Rewrite (Expression (Foreign_Data),
index 738ab266805ffd2f7a674778c955f6475b52a71d..19d88778715fe5b4099d7ffbf811464c58e060ab 100644 (file)
@@ -20467,7 +20467,12 @@ package body Sem_Prag is
          --    Depends         => (State => null)
          --    Refined_Depends =>  null            --  OK
 
-         if No (Refinements) and then Is_Entity_Name (Dep_Output) then
+         --  Another instance of the same scenario occurs when the list of
+         --  refinements has been depleted while processing previous clauses.
+
+         if Is_Entity_Name (Dep_Output)
+           and then (No (Refinements) or else Is_Empty_List (Refinements))
+         then
             Dep_Id := Entity_Of (Dep_Output);
 
             if Ekind (Dep_Id) = E_Abstract_State