aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch11.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2016-04-20 12:45:55 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2016-04-20 12:45:55 +0200
commit75a957f5dba310b73a1d040da70f6e4077379af4 (patch)
tree97ebf50af958de9b7d35ca951dc92ba8b70a8099 /gcc/ada/sem_ch11.adb
parentbc795e3e039342e74d2d2b0515dd190f7d24ec65 (diff)
downloadgcc-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.adb13
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;