except.c (init_eh): Use BUILTINS_LOCATION when calling build_decl.
authorAldy Hernandez <aldyh@redhat.com>
Mon, 15 Jun 2009 14:27:18 +0000 (14:27 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Mon, 15 Jun 2009 14:27:18 +0000 (14:27 +0000)
        * except.c (init_eh): Use BUILTINS_LOCATION when calling build_decl.
        * tree-eh.c (lower_try_finally_switch): Initialize tf_loc.

From-SVN: r148493

gcc/ChangeLog
gcc/except.c
gcc/tree-eh.c

index bc1fba7..742b43c 100644 (file)
@@ -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):
index 8ec252b..0e207d5 100644 (file)
@@ -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
index e38b1bd..b897206 100644 (file)
@@ -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;