summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2009-06-15 14:27:18 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2009-06-15 14:27:18 +0000
commitd40eb1588359deacf6d7d32de236231e5ee04905 (patch)
tree675c658fb5a68a4856057fc5a1a9a8a4ba5b3a12
parentfc26fae3db8a2eacc73224e2b3e0ab2aa3201eeb (diff)
downloadgcc-d40eb1588359deacf6d7d32de236231e5ee04905.tar.gz
except.c (init_eh): Use BUILTINS_LOCATION when calling build_decl.
* except.c (init_eh): Use BUILTINS_LOCATION when calling build_decl. * tree-eh.c (lower_try_finally_switch): Initialize tf_loc. From-SVN: r148493
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/except.c12
-rw-r--r--gcc/tree-eh.c2
3 files changed, 15 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc1fba79187..742b43c8c3c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2009-06-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * except.c (init_eh): Use BUILTINS_LOCATION when calling build_decl.
+
+2009-06-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-eh.c (lower_try_finally_switch): Initialize tf_loc.
+
2009-06-15 Rafael Avila de Espindola <espindola@google.com>
* cgraphunit.c (cgraph_function_versioning,save_inline_function_body):
diff --git a/gcc/except.c b/gcc/except.c
index 8ec252bbab3..0e207d53509 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -221,12 +221,12 @@ init_eh (void)
sjlj_fc_type_node = lang_hooks.types.make_type (RECORD_TYPE);
- f_prev = build_decl (DECL_SOURCE_LOCATION (current_function_decl),
+ f_prev = build_decl (BUILTINS_LOCATION,
FIELD_DECL, get_identifier ("__prev"),
build_pointer_type (sjlj_fc_type_node));
DECL_FIELD_CONTEXT (f_prev) = sjlj_fc_type_node;
- f_cs = build_decl (DECL_SOURCE_LOCATION (current_function_decl),
+ f_cs = build_decl (BUILTINS_LOCATION,
FIELD_DECL, get_identifier ("__call_site"),
integer_type_node);
DECL_FIELD_CONTEXT (f_cs) = sjlj_fc_type_node;
@@ -235,16 +235,16 @@ init_eh (void)
tmp = build_array_type (lang_hooks.types.type_for_mode
(targetm.unwind_word_mode (), 1),
tmp);
- f_data = build_decl (DECL_SOURCE_LOCATION (current_function_decl),
+ f_data = build_decl (BUILTINS_LOCATION,
FIELD_DECL, get_identifier ("__data"), tmp);
DECL_FIELD_CONTEXT (f_data) = sjlj_fc_type_node;
- f_per = build_decl (DECL_SOURCE_LOCATION (current_function_decl),
+ f_per = build_decl (BUILTINS_LOCATION,
FIELD_DECL, get_identifier ("__personality"),
ptr_type_node);
DECL_FIELD_CONTEXT (f_per) = sjlj_fc_type_node;
- f_lsda = build_decl (DECL_SOURCE_LOCATION (current_function_decl),
+ f_lsda = build_decl (BUILTINS_LOCATION,
FIELD_DECL, get_identifier ("__lsda"),
ptr_type_node);
DECL_FIELD_CONTEXT (f_lsda) = sjlj_fc_type_node;
@@ -265,7 +265,7 @@ init_eh (void)
#endif
tmp = build_index_type (tmp);
tmp = build_array_type (ptr_type_node, tmp);
- f_jbuf = build_decl (DECL_SOURCE_LOCATION (current_function_decl),
+ f_jbuf = build_decl (BUILTINS_LOCATION,
FIELD_DECL, get_identifier ("__jbuf"), tmp);
#ifdef DONT_USE_BUILTIN_SETJMP
/* We don't know what the alignment requirements of the
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index e38b1bd8160..b8972063c9d 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -1333,7 +1333,7 @@ lower_try_finally_switch (struct leh_state *state, struct leh_tf_state *tf)
gimple_seq finally;
struct pointer_map_t *cont_map = NULL;
/* The location of the TRY_FINALLY stmt. */
- location_t tf_loc;
+ location_t tf_loc = gimple_location (tf->try_finally_expr);
/* The location of the finally block. */
location_t finally_loc;