[PATCH] Move lto-symtab.c to lto/
Richard Biener
rguenther@suse.de
Thu Sep 5 14:07:00 GMT 2013
$subject - it's only used from the lto frontend.
LTO bootstrap running on x86_64-unknown-linux-gnu.
Richard.
2013-09-05 Richard Biener <rguenther@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
More information about the Gcc-patches
mailing list