From: Jakub Jelinek Date: Thu, 17 Mar 2011 15:22:20 +0000 (+0100) Subject: re PR bootstrap/48153 (Bootstrapping revision 171033 fails on x86_64-apple-darwin10) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8054a389725c18d627de6edf1f78dd1881819dd2;p=gcc.git re PR bootstrap/48153 (Bootstrapping revision 171033 fails on x86_64-apple-darwin10) PR bootstrap/48153 * dwarf2out.c (mem_loc_descriptor) : Return NULL if dwarf_strict. (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict. Clear call_arg_locations and call_arg_loc_last always. From-SVN: r171102 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 694452e1d79..b1085ae83c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2011-03-17 Jakub Jelinek + PR bootstrap/48153 + * dwarf2out.c (mem_loc_descriptor) : Return NULL + if dwarf_strict. + (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict. + Clear call_arg_locations and call_arg_loc_last always. + PR middle-end/48152 * var-tracking.c (prepare_call_arguments): If argument needs to be passed by reference, adjust argtype and mode. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index b28025fcdf7..f62bb48737c 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -13864,6 +13864,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode, return 0; case ENTRY_VALUE: + if (dwarf_strict) + return NULL; mem_loc_result = new_loc_descr (DW_OP_GNU_entry_value, 0, 0); mem_loc_result->dw_loc_oprnd1.val_class = dw_val_class_loc; if (REG_P (ENTRY_VALUE_EXP (rtl))) @@ -19447,7 +19449,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) current_function_has_inlines = 0; decls_for_scope (outer_scope, subr_die, 0); - if (call_arg_locations) + if (call_arg_locations && !dwarf_strict) { struct call_arg_loc_node *ca_loc; for (ca_loc = call_arg_locations; ca_loc; ca_loc = ca_loc->next) @@ -19547,11 +19549,12 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) tail_call_site_note_count++; } } - call_arg_locations = NULL; - call_arg_loc_last = NULL; } + call_arg_locations = NULL; + call_arg_loc_last = NULL; if (tail_call_site_count >= 0 - && tail_call_site_count == tail_call_site_note_count) + && tail_call_site_count == tail_call_site_note_count + && !dwarf_strict) { if (call_site_count >= 0 && call_site_count == call_site_note_count)