]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sem_cat.adb (Check_Categorization_Dependencies): Remote types packages can depend...
authorRobert Dewar <dewar@adacore.com>
Fri, 8 Oct 2010 12:57:10 +0000 (12:57 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 8 Oct 2010 12:57:10 +0000 (14:57 +0200)
2010-10-08  Robert Dewar  <dewar@adacore.com>

* sem_cat.adb (Check_Categorization_Dependencies): Remote types
packages can depend on preleborated packages.

2010-10-08  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Pragmas
Interrupt_Handler and Attach_Handler not allowed in generics.

From-SVN: r165172

gcc/ada/ChangeLog
gcc/ada/sem_cat.adb
gcc/ada/sem_prag.adb

index 209013457414c2550a39369b8a92882e7acc986f..b47253fa4a3013c2072ac905cc076abbcef317b2 100644 (file)
@@ -1,3 +1,13 @@
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * sem_cat.adb (Check_Categorization_Dependencies): Remote types
+       packages can depend on preleborated packages.
+
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Pragmas
+       Interrupt_Handler and Attach_Handler not allowed in generics.
+
 2010-10-08  Robert Dewar  <dewar@adacore.com>
 
        * ali.adb: Set Allocator_In_Body if AB parameter present on M line
index 1f4ed1069f62aa749026f48af5fbecf5c8440eb2..0bae96d0683dccd09559d2d33a5f10792176b5b6 100644 (file)
@@ -206,6 +206,17 @@ package body Sem_Cat is
            and then In_Package_Body (Unit_Entity)
          then
             null;
+
+         --  Special case: Remote_Types can depend on Preelaborated per
+         --  Ada 2005 AI 0206.
+
+         elsif Unit_Category = Remote_Types
+           and then Is_Preelaborated (Depended_Entity)
+         then
+            null;
+
+         --  All other cases, we do have an error
+
          else
             Err := True;
          end if;
index 90424cdeeb154a1e8dc29f0c8a200b5d3cc93120..edad7e32e57bffdb20195d52fb57d5cfdd620e52 100644 (file)
@@ -1305,6 +1305,10 @@ package body Sem_Prag is
             Error_Pragma_Arg
               ("argument for pragma% must be library level entity", Arg1);
          end if;
+
+         if Inside_A_Generic then
+            Error_Pragma ("pragma% cannot be used inside a generic");
+         end if;
       end Check_Interrupt_Or_Attach_Handler;
 
       -------------------------------------------