aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-02-18 16:24:40 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-02-18 16:24:40 +0000
commit237d62592af737acb7711b78f44304fcd18b3e13 (patch)
treec0d6c9a72292d9089ed3e3d2c09a47e56925f639 /gcc
parente23541755f8ded87da6b3056562ba9736d0126ee (diff)
downloadgcc-237d62592af737acb7711b78f44304fcd18b3e13.zip
gcc-237d62592af737acb7711b78f44304fcd18b3e13.tar.gz
gcc-237d62592af737acb7711b78f44304fcd18b3e13.tar.bz2
re PR lto/47798 (LTO debuginfo for globals wrong)
2011-02-18 Richard Guenther <rguenther@suse.de> PR lto/47798 * lto-streamer.h (lto_global_var_decls): Declare. * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register statics for global var processing. lto/ * lto-tree.h (lto_global_var_decls): Do not declare here. * lto-lang.c: Include lto-streamer.h. * Make-lang.in (lto-lang.o): Adjust dependencies. From-SVN: r170274
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/lto-streamer-in.c2
-rw-r--r--gcc/lto-streamer.h1
-rw-r--r--gcc/lto/ChangeLog7
-rw-r--r--gcc/lto/Make-lang.in2
-rw-r--r--gcc/lto/lto-lang.c1
-rw-r--r--gcc/lto/lto-tree.h3
7 files changed, 19 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 724e6ed..3e31b74 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2011-02-18 Richard Guenther <rguenther@suse.de>
+ PR lto/47798
+ * lto-streamer.h (lto_global_var_decls): Declare.
+ * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
+ statics for global var processing.
+
+2011-02-18 Richard Guenther <rguenther@suse.de>
+
PR tree-optimization/47737
* tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
edge dominance check.
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index ba48cbb..1f0cf29 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -2432,6 +2432,8 @@ lto_register_var_decl_in_symtab (struct data_in *data_in, tree decl)
ASM_FORMAT_PRIVATE_NAME (label, name, DECL_UID (decl));
SET_DECL_ASSEMBLER_NAME (decl, get_identifier (label));
rest_of_decl_compilation (decl, 1, 0);
+
+ VEC_safe_push (tree, gc, lto_global_var_decls, decl);
}
/* If this variable has already been declared, queue the
diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h
index b82c54e..d8669a2 100644
--- a/gcc/lto-streamer.h
+++ b/gcc/lto-streamer.h
@@ -914,6 +914,7 @@ extern void lto_symtab_merge_cgraph_nodes (void);
extern tree lto_symtab_prevailing_decl (tree decl);
extern enum ld_plugin_symbol_resolution lto_symtab_get_resolution (tree decl);
extern void lto_symtab_free (void);
+extern GTY(()) VEC(tree,gc) *lto_global_var_decls;
/* In lto-opts.c. */
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 3872a35..e426796 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,10 @@
+2011-02-18 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47798
+ * lto-tree.h (lto_global_var_decls): Do not declare here.
+ * lto-lang.c: Include lto-streamer.h.
+ * Make-lang.in (lto-lang.o): Adjust dependencies.
+
2011-02-10 Kai Tietz <kai.tietz@onevision.com>
PR lto/47241
diff --git a/gcc/lto/Make-lang.in b/gcc/lto/Make-lang.in
index 16b0f35..22e1391 100644
--- a/gcc/lto/Make-lang.in
+++ b/gcc/lto/Make-lang.in
@@ -79,7 +79,7 @@ $(LTO_EXE): $(LTO_OBJS) $(BACKEND) $(LIBDEPS)
lto/lto-lang.o: lto/lto-lang.c $(CONFIG_H) coretypes.h debug.h \
flags.h $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(SYSTEM_H) \
$(TARGET_H) $(LTO_H) $(GIMPLE_H) gtype-lto.h gt-lto-lto-lang.h \
- $(EXPR_H)
+ $(EXPR_H) lto-streamer.h
lto/lto.o: lto/lto.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(OPTS_H) \
toplev.h $(TREE_H) $(DIAGNOSTIC_CORE_H) $(TM_H) \
$(CGRAPH_H) $(GGC_H) tree-ssa-operands.h $(TREE_PASS_H) \
diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
index 968073b..5f157d6 100644
--- a/gcc/lto/lto-lang.c
+++ b/gcc/lto/lto-lang.c
@@ -34,6 +34,7 @@ along with GCC; see the file COPYING3. If not see
#include "gimple.h"
#include "diagnostic-core.h"
#include "toplev.h"
+#include "lto-streamer.h"
static tree handle_noreturn_attribute (tree *, tree, tree, int, bool *);
static tree handle_leaf_attribute (tree *, tree, tree, int, bool *);
diff --git a/gcc/lto/lto-tree.h b/gcc/lto/lto-tree.h
index bc77750..d187fe2 100644
--- a/gcc/lto/lto-tree.h
+++ b/gcc/lto/lto-tree.h
@@ -55,7 +55,4 @@ union GTY((desc ("lto_tree_node_structure (&%h)"),
desc ("tree_node_structure (&%h)"))) generic;
};
-/* Vector to keep track of external variables we've seen so far. */
-extern GTY(()) VEC(tree,gc) *lto_global_var_decls;
-
#endif /* GCC_LTO_TREE_H */