From 6931b3b79d8fac15931a16d09150543af2a832d3 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 17 Mar 2016 13:43:01 +0000 Subject: re PR debug/70271 (internal compiler error: in dwarf2out_finish, at dwarf2out.c:27346) 2016-03-17 Richard Biener PR debug/70271 * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name last. * g++.dg/debug/pr70271.C: New testcase. From-SVN: r234289 --- gcc/dwarf2out.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'gcc/dwarf2out.c') diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 61bf267..0bbff87 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -27686,10 +27686,15 @@ dwarf2out_finish (const char *filename) static void dwarf2out_early_finish (void) { - limbo_die_node *node; + /* The point here is to flush out the limbo list so that it is empty + and we don't need to stream it for LTO. */ + flush_limbo_die_list (); + + gen_scheduled_generic_parms_dies (); + gen_remaining_tmpl_value_param_die_attribute (); /* Add DW_AT_linkage_name for all deferred DIEs. */ - for (node = deferred_asm_name; node; node = node->next) + for (limbo_die_node *node = deferred_asm_name; node; node = node->next) { tree decl = node->created_for; if (DECL_ASSEMBLER_NAME (decl) != DECL_NAME (decl) @@ -27703,13 +27708,6 @@ dwarf2out_early_finish (void) } } deferred_asm_name = NULL; - - /* The point here is to flush out the limbo list so that it is empty - and we don't need to stream it for LTO. */ - flush_limbo_die_list (); - - gen_scheduled_generic_parms_dies (); - gen_remaining_tmpl_value_param_die_attribute (); } /* Reset all state within dwarf2out.c so that we can rerun the compiler -- cgit v1.1