aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/gcc-interface/trans.c10
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 916715a..7e8e9a1 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,11 @@
2014-11-05 Eric Botcazou <ebotcazou@adacore.com>
+ * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Set
+ the SLOC of the node on the call to set_jmpbuf_address_soft emitted
+ on block entry with SJLJ.
+
+2014-11-05 Eric Botcazou <ebotcazou@adacore.com>
+
* gcc-interface/utils.c (create_subprog_decl): Move code dealing with
conflicting inlining status of nested subprograms to...
* gcc-interface/trans.c (check_inlining_for_nested_subprog): ...here.
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 258b79c..05b81ef 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -4629,9 +4629,13 @@ Handled_Sequence_Of_Statements_to_gnu (Node_Id gnat_node)
start_stmt_group ();
if (setjmp_longjmp)
- add_stmt (build_call_n_expr (set_jmpbuf_decl, 1,
- build_unary_op (ADDR_EXPR, NULL_TREE,
- gnu_jmpbuf_decl)));
+ {
+ gnu_expr = build_call_n_expr (set_jmpbuf_decl, 1,
+ build_unary_op (ADDR_EXPR, NULL_TREE,
+ gnu_jmpbuf_decl));
+ set_expr_location_from_node (gnu_expr, gnat_node);
+ add_stmt (gnu_expr);
+ }
if (Present (First_Real_Statement (gnat_node)))
process_decls (Statements (gnat_node), Empty,