$subject - it's only used from the lto frontend. LTO bootstrap running on x86_64-unknown-linux-gnu.
Richard. 2013-09-05 Richard Biener <rguent...@suse.de> * lto-streamer.h (lto_global_var_decls): Remove. * Makefile.in (OBJS): Remove lto-symtab.o. (lto-symtab.o): Remove. (GTFILES): Remove lto-symtab.c * lto-symtab.c: Move to lto/ lto/ * lto-symtab.c: Move from gcc/ * lto.h: Include vec.h. (lto_global_var_decls): Declare. * Make-lang.in (LTO_OBJS): Add lto-symtab.o. (lto-symtab.o): Add. * config-lang.in (gtfiles): Add lto-symtab.c. Index: gcc/lto-streamer.h =================================================================== --- gcc/lto-streamer.h (revision 202275) +++ gcc/lto-streamer.h (working copy) @@ -903,7 +903,6 @@ lto_symtab_encoder_t compute_ltrans_boun extern void lto_symtab_merge_decls (void); extern void lto_symtab_merge_symbols (void); extern tree lto_symtab_prevailing_decl (tree decl); -extern GTY(()) vec<tree, va_gc> *lto_global_var_decls; /* In lto-opts.c. */ Index: gcc/Makefile.in =================================================================== --- gcc/Makefile.in (revision 202275) +++ gcc/Makefile.in (working copy) @@ -1320,7 +1320,6 @@ OBJS = \ lto-streamer-out.o \ lto-section-in.o \ lto-section-out.o \ - lto-symtab.o \ lto-opts.o \ lto-compress.o \ mcf.o \ @@ -2220,9 +2220,6 @@ lto-section-out.o : lto-section-out.c $( $(CGRAPH_H) $(FUNCTION_H) $(GGC_H) $(EXCEPT_H) pointer-set.h \ $(BITMAP_H) langhooks.h $(LTO_STREAMER_H) lto-compress.h \ $(DATA_STREAMER_H) -lto-symtab.o: lto-symtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TREE_H) $(GIMPLE_H) $(GGC_H) $(HASHTAB_H) \ - $(LTO_STREAMER_H) $(LINKER_PLUGIN_API_H) lto-opts.o: lto-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \ $(HASHTAB_H) $(GGC_H) $(BITMAP_H) $(FLAGS_H) $(OPTS_H) $(OPTIONS_H) \ $(COMMON_TARGET_H) $(DIAGNOSTIC_H) $(LTO_STREAMER_H) @@ -3839,7 +3843,6 @@ GTFILES = $(CPP_ID_DATA_H) $(srcdir)/inp $(srcdir)/cgraphclones.c \ $(srcdir)/tree-ssa-propagate.c \ $(srcdir)/tree-phinodes.c \ - $(srcdir)/lto-symtab.c \ $(srcdir)/tree-ssa-alias.h \ $(srcdir)/ipa-prop.h \ $(srcdir)/trans-mem.c \ Index: gcc/lto/lto.h =================================================================== --- gcc/lto/lto.h (revision 202275) +++ gcc/lto/lto.h (working copy) @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. #define LTO_H #include "hashtab.h" +#include "vec.h" /* A file. */ typedef struct lto_file_struct @@ -40,6 +41,9 @@ extern tree lto_eh_personality (void); extern void lto_main (void); extern void lto_read_all_file_options (void); +/* In lto-symtab.c */ +extern GTY(()) vec<tree, va_gc> *lto_global_var_decls; + /* In lto-elf.c or lto-coff.c */ extern lto_file *lto_obj_file_open (const char *filename, bool writable); extern void lto_obj_file_close (lto_file *file); Index: gcc/lto/Make-lang.in =================================================================== --- gcc/lto/Make-lang.in (revision 202275) +++ gcc/lto/Make-lang.in (working copy) @@ -22,7 +22,7 @@ # The name of the LTO compiler. LTO_EXE = lto1$(exeext) # The LTO-specific object files inclued in $(LTO_EXE). -LTO_OBJS = lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o +LTO_OBJS = lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o LTO_H = lto/lto.h $(HASHTAB_H) LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h LTO_TREE_H = lto/lto-tree.h $(LINKER_PLUGIN_API_H) @@ -95,6 +95,9 @@ lto/lto-partition.o: lto/lto-partition.c lto/lto-object.o: lto/lto-object.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(DIAGNOSTIC_CORE_H) $(LTO_H) $(TM_H) $(LTO_STREAMER_H) \ ../include/simple-object.h +lto/lto-symtab.o: lto/lto-symtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(TREE_H) $(GIMPLE_H) $(GGC_H) $(HASHTAB_H) \ + $(LTO_STREAMER_H) $(LINKER_PLUGIN_API_H) # LTO testing is done as part of C/C++/Fortran etc. testing. check-lto: Index: gcc/lto/config-lang.in =================================================================== --- gcc/lto/config-lang.in (revision 202275) +++ gcc/lto/config-lang.in (working copy) @@ -21,7 +21,7 @@ language="lto" compilers="lto1\$(exeext)" stagestuff="lto1\$(exeext)" -gtfiles="\$(srcdir)/lto/lto-tree.h \$(srcdir)/lto/lto-lang.c \$(srcdir)/lto/lto.c" +gtfiles="\$(srcdir)/lto/lto-tree.h \$(srcdir)/lto/lto-lang.c \$(srcdir)/lto/lto.c \$(srcdir)/lto/lto-symtab.c" # LTO is a special front end. From a user's perspective it is not # really a language, but a middle end feature. However, the GIMPLE