diff options
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/gcc/except.c b/gcc/except.c index ff45a7e6d72..8ec252bbab3 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -221,11 +221,13 @@ init_eh (void) sjlj_fc_type_node = lang_hooks.types.make_type (RECORD_TYPE); - f_prev = build_decl (FIELD_DECL, get_identifier ("__prev"), + f_prev = build_decl (DECL_SOURCE_LOCATION (current_function_decl), + 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 (FIELD_DECL, get_identifier ("__call_site"), + f_cs = build_decl (DECL_SOURCE_LOCATION (current_function_decl), + FIELD_DECL, get_identifier ("__call_site"), integer_type_node); DECL_FIELD_CONTEXT (f_cs) = sjlj_fc_type_node; @@ -233,14 +235,17 @@ init_eh (void) tmp = build_array_type (lang_hooks.types.type_for_mode (targetm.unwind_word_mode (), 1), tmp); - f_data = build_decl (FIELD_DECL, get_identifier ("__data"), tmp); + f_data = build_decl (DECL_SOURCE_LOCATION (current_function_decl), + FIELD_DECL, get_identifier ("__data"), tmp); DECL_FIELD_CONTEXT (f_data) = sjlj_fc_type_node; - f_per = build_decl (FIELD_DECL, get_identifier ("__personality"), + f_per = build_decl (DECL_SOURCE_LOCATION (current_function_decl), + FIELD_DECL, get_identifier ("__personality"), ptr_type_node); DECL_FIELD_CONTEXT (f_per) = sjlj_fc_type_node; - f_lsda = build_decl (FIELD_DECL, get_identifier ("__lsda"), + f_lsda = build_decl (DECL_SOURCE_LOCATION (current_function_decl), + FIELD_DECL, get_identifier ("__lsda"), ptr_type_node); DECL_FIELD_CONTEXT (f_lsda) = sjlj_fc_type_node; @@ -260,7 +265,8 @@ init_eh (void) #endif tmp = build_index_type (tmp); tmp = build_array_type (ptr_type_node, tmp); - f_jbuf = build_decl (FIELD_DECL, get_identifier ("__jbuf"), tmp); + f_jbuf = build_decl (DECL_SOURCE_LOCATION (current_function_decl), + FIELD_DECL, get_identifier ("__jbuf"), tmp); #ifdef DONT_USE_BUILTIN_SETJMP /* We don't know what the alignment requirements of the runtime's jmp_buf has. Overestimate. */ |