aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2009-07-06 14:33:11 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2009-07-06 14:33:11 +0000
commit4fd263a6dfa7d4614b7727c83a8cfd9b740a64f1 (patch)
tree08654815f170bdf992d30a64b7f03f1881a0534c /gcc
parent7a61cf6f09d0a08de70d1f15f089a79cbec1ab1e (diff)
downloadgcc-4fd263a6dfa7d4614b7727c83a8cfd9b740a64f1.zip
gcc-4fd263a6dfa7d4614b7727c83a8cfd9b740a64f1.tar.gz
gcc-4fd263a6dfa7d4614b7727c83a8cfd9b740a64f1.tar.bz2
trans.c (Handled_Sequence_Of_Statements_to_gnu, [...]): Attach the exception propagation reraise fallback to the sequence end label...
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu, setjmp_longjmp): Attach the exception propagation reraise fallback to the sequence end label location when we have it. From-SVN: r149285
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/gcc-interface/trans.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index a2ad971..5e76c14 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2009-07-06 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
+ setjmp_longjmp): Attach the exception propagation reraise fallback
+ to the sequence end label location when we have it.
+
2009-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR ada/40608
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 24163b8..1008f1a 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -3071,7 +3071,9 @@ Handled_Sequence_Of_Statements_to_gnu (Node_Id gnat_node)
defer abortion. */
gnu_expr = build_call_1_expr (raise_nodefer_decl,
TREE_VALUE (gnu_except_ptr_stack));
- set_expr_location_from_node (gnu_expr, gnat_node);
+ set_expr_location_from_node
+ (gnu_expr,
+ Present (End_Label (gnat_node)) ? End_Label (gnat_node) : gnat_node);
if (gnu_else_ptr)
*gnu_else_ptr = gnu_expr;