aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2010-10-08 12:57:10 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-08 14:57:10 +0200
commit6f123e484ce057e9f41079884f2dfb1fd62bbf82 (patch)
tree4af3cd9c1a5af94d7b2ca429dd91c617434c002a /gcc
parent87003b285389a76fd9bb8a345a36ef2a9ebce0a1 (diff)
downloadgcc-6f123e484ce057e9f41079884f2dfb1fd62bbf82.zip
gcc-6f123e484ce057e9f41079884f2dfb1fd62bbf82.tar.gz
gcc-6f123e484ce057e9f41079884f2dfb1fd62bbf82.tar.bz2
sem_cat.adb (Check_Categorization_Dependencies): Remote types packages can depend on preleborated packages.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog10
-rw-r--r--gcc/ada/sem_cat.adb11
-rw-r--r--gcc/ada/sem_prag.adb4
3 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 2090134..b47253f 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,15 @@
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
* ali.ads (Allocator_In_Body): New flag
* bcheck.adb (Check_Consistent_Restrictions): Handle case of main
diff --git a/gcc/ada/sem_cat.adb b/gcc/ada/sem_cat.adb
index 1f4ed10..0bae96d 100644
--- a/gcc/ada/sem_cat.adb
+++ b/gcc/ada/sem_cat.adb
@@ -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;
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 90424cd..edad7e3 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -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;
-------------------------------------------