diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2016-04-20 12:45:55 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2016-04-20 12:45:55 +0200 |
commit | 75a957f5dba310b73a1d040da70f6e4077379af4 (patch) | |
tree | 97ebf50af958de9b7d35ca951dc92ba8b70a8099 /gcc/ada/sem_ch11.adb | |
parent | bc795e3e039342e74d2d2b0515dd190f7d24ec65 (diff) | |
download | gcc-75a957f5dba310b73a1d040da70f6e4077379af4.zip gcc-75a957f5dba310b73a1d040da70f6e4077379af4.tar.gz gcc-75a957f5dba310b73a1d040da70f6e4077379af4.tar.bz2 |
[multiple changes]
2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb Flag286 is now used as Is_Exception_Handler.
(Is_Exception_Handler): New routine.
(Set_Is_Exception_Handler): New routine.
(Write_Entity_Flags): Output the status of Is_Exception_Handler.
* einfo.ads New attribute Is_Exception_Handler along with
occurrences in entities.
(Is_Exception_Handler): New routine along with pragma Inline.
(Set_Is_Exception_Handler): New routine along with pragma Inline.
* exp_ch7.adb (Make_Transient_Block): Ignore blocks generated
for exception handlers with a choice parameter.
* sem_ch11.adb (Analyze_Exception_Handlers): Mark the scope
generated for a choice parameter as an exception handler.
2016-04-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Derived_Access_Type): Remove dead code.
(Constrain_Discriminated_Type): In an instance, if the type has
unknown discriminants, use its full view.
(Process_Subtype): Check that the base type is private before
adding subtype to Private_Dependents list.
2016-04-20 Bob Duff <duff@adacore.com>
* sem_ch13.adb: Minor comment fix.
From-SVN: r235264
Diffstat (limited to 'gcc/ada/sem_ch11.adb')
-rw-r--r-- | gcc/ada/sem_ch11.adb | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/ada/sem_ch11.adb b/gcc/ada/sem_ch11.adb index 0b9f8ef..e03ec1c 100644 --- a/gcc/ada/sem_ch11.adb +++ b/gcc/ada/sem_ch11.adb @@ -214,6 +214,7 @@ package body Sem_Ch11 is H_Scope := New_Internal_Entity (E_Block, Current_Scope, Sloc (Choice), 'E'); + Set_Is_Exception_Handler (H_Scope); end if; Push_Scope (H_Scope); @@ -318,11 +319,11 @@ package body Sem_Ch11 is N_Formal_Package_Declaration then Error_Msg_NE - ("exception& is declared in " & - "generic formal package", Id, Ent); + ("exception& is declared in generic formal " + & "package", Id, Ent); Error_Msg_N - ("\and therefore cannot appear in " & - "handler (RM 11.2(8))", Id); + ("\and therefore cannot appear in handler " + & "(RM 11.2(8))", Id); exit; -- If the exception is declared in an inner @@ -362,8 +363,8 @@ package body Sem_Ch11 is Analyze_Statements (Statements (Handler)); - -- If a choice was present, we created a special scope for it, - -- so this is where we pop that special scope to get rid of it. + -- If a choice was present, we created a special scope for it, so + -- this is where we pop that special scope to get rid of it. if Present (Choice) then End_Scope; |