summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-02-18 16:24:40 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-02-18 16:24:40 +0000
commit30865946d5ef65f08fcce6aa00279dd3aab84533 (patch)
treec0d6c9a72292d9089ed3e3d2c09a47e56925f639 /gcc
parentfb18f938f9e17cad5411f66cc15d0c6b03634932 (diff)
downloadgcc-30865946d5ef65f08fcce6aa00279dd3aab84533.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170274 138bc75d-0d04-0410-961f-82ee72b054a4
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 724e6edcceb..3e31b747d3e 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 ba48cbb3f60..1f0cf29d35a 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 b82c54ede1c..d8669a21529 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 3872a3584b5..e4267967a37 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 16b0f35e2ad..22e13912e32 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 968073ba4ef..5f157d6de06 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 bc77750352d..d187fe20dd3 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 */