aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-02-12 09:01:30 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-02-12 09:01:30 +0000
commit283416b3fbccccc90cac74c351517c29204a3775 (patch)
treedca80b7de390261706f26744c201204ebe6fb228 /gcc/lto
parent62b0355332d6a102667074df1abf5e1a015809c6 (diff)
downloadgcc-283416b3fbccccc90cac74c351517c29204a3775.zip
gcc-283416b3fbccccc90cac74c351517c29204a3775.tar.gz
gcc-283416b3fbccccc90cac74c351517c29204a3775.tar.bz2
re PR fortran/60060 (lto1: internal compiler error: in add_AT_specification, at dwarf2out.c:4096)
2014-02-12 Richard Biener <rguenther@suse.de> 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
Diffstat (limited to 'gcc/lto')
-rw-r--r--gcc/lto/ChangeLog8
-rw-r--r--gcc/lto/lto-lang.c12
2 files changed, 11 insertions, 9 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 94d19ee..1b55d3e 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,11 @@
+2014-02-12 Richard Biener <rguenther@suse.de>
+
+ 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 <hubicka@ucw.cz>
* lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
index 4d6d0f5..28eac6f 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<tree> 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