From 283416b3fbccccc90cac74c351517c29204a3775 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 12 Feb 2014 09:01:30 +0000 Subject: [PATCH] re PR fortran/60060 (lto1: internal compiler error: in add_AT_specification, at dwarf2out.c:4096) 2014-02-12 Richard Biener PR lto/60060 * lto-lang.c (lto_write_globals): Do not call wrapup_global_declarations or emit_debug_global_declarations but emit debug info for non-function scope variables directly. From-SVN: r207715 --- gcc/lto/ChangeLog | 8 ++++++++ gcc/lto/lto-lang.c | 12 +++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 94d19ee78bc7..1b55d3efd73e 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,11 @@ +2014-02-12 Richard Biener + + PR lto/60060 + * lto-lang.c (lto_write_globals): Do not call + wrapup_global_declarations or emit_debug_global_declarations + but emit debug info for non-function scope variables + directly. + 2014-02-06 Jan Hubicka * lto.c (unify_scc): Free CONSTRUCTOR_ELTS. diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c index 4d6d0f5ffd9d..28eac6f3e9f7 100644 --- a/gcc/lto/lto-lang.c +++ b/gcc/lto/lto-lang.c @@ -1082,17 +1082,11 @@ lto_write_globals (void) if (flag_wpa) return; - /* Record the global variables. */ - vec lto_global_var_decls = vNULL; + /* Output debug info for global variables. */ varpool_node *vnode; FOR_EACH_DEFINED_VARIABLE (vnode) - lto_global_var_decls.safe_push (vnode->decl); - - tree *vec = lto_global_var_decls.address (); - int len = lto_global_var_decls.length (); - wrapup_global_declarations (vec, len); - emit_debug_global_declarations (vec, len); - lto_global_var_decls.release (); + if (!decl_function_context (vnode->decl)) + debug_hooks->global_decl (vnode->decl); } static tree -- 2.47.3