diff options
author | Robert Dewar <dewar@adacore.com> | 2010-10-08 12:57:10 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-08 14:57:10 +0200 |
commit | 6f123e484ce057e9f41079884f2dfb1fd62bbf82 (patch) | |
tree | 4af3cd9c1a5af94d7b2ca429dd91c617434c002a /gcc | |
parent | 87003b285389a76fd9bb8a345a36ef2a9ebce0a1 (diff) | |
download | gcc-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/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/ada/sem_cat.adb | 11 | ||||
-rw-r--r-- | gcc/ada/sem_prag.adb | 4 |
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; ------------------------------------------- |