Commit 8054a389 by Jakub Jelinek Committed by Jakub Jelinek

re PR bootstrap/48153 (Bootstrapping revision 171033 fails on x86_64-apple-darwin10)

	PR bootstrap/48153
	* dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: 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
parent db3ed0b3
2011-03-17 Jakub Jelinek <jakub@redhat.com> 2011-03-17 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/48153
* dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: 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 PR middle-end/48152
* var-tracking.c (prepare_call_arguments): If argument needs to be * var-tracking.c (prepare_call_arguments): If argument needs to be
passed by reference, adjust argtype and mode. passed by reference, adjust argtype and mode.
......
...@@ -13864,6 +13864,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode, ...@@ -13864,6 +13864,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode,
return 0; return 0;
case ENTRY_VALUE: case ENTRY_VALUE:
if (dwarf_strict)
return NULL;
mem_loc_result = new_loc_descr (DW_OP_GNU_entry_value, 0, 0); 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; mem_loc_result->dw_loc_oprnd1.val_class = dw_val_class_loc;
if (REG_P (ENTRY_VALUE_EXP (rtl))) if (REG_P (ENTRY_VALUE_EXP (rtl)))
...@@ -19447,7 +19449,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) ...@@ -19447,7 +19449,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
current_function_has_inlines = 0; current_function_has_inlines = 0;
decls_for_scope (outer_scope, subr_die, 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; struct call_arg_loc_node *ca_loc;
for (ca_loc = call_arg_locations; ca_loc; ca_loc = ca_loc->next) 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) ...@@ -19547,11 +19549,12 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
tail_call_site_note_count++; 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 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 if (call_site_count >= 0
&& call_site_count == call_site_note_count) && call_site_count == call_site_note_count)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment