diff mbox

Factor unrelated declarations out of tree.h (2/2)

Message ID 20131114204044.GA8148@google.com
State New
Headers show

Commit Message

Diego Novillo Nov. 14, 2013, 8:40 p.m. UTC
This patch contains the mechanical side-effects from
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01663.html

Every file that includes tree.h may now need to include other
headers as well.

2013-11-14  Diego Novillo  <dnovillo@google.com>

ada/ChangeLog

	* gcc-interface/decl.c: Include stringpool.h
	Include stor-layout.h
	* gcc-interface/misc.c: Include stor-layout.h
	Include print-tree.h
	* gcc-interface/trans.c: Include stringpool.h
	Include stor-layout.h
	Include builtins.h
	Include stmt.h
	Include varasm.h
	* gcc-interface/utils.c: Include stringpool.h
	Include stor-layout.h
	Include attribs.h
	Include varasm.h
	* gcc-interface/utils2.c: Include stringpool.h
	Include stor-layout.h
	Include attribs.h
	Include varasm.h


c-family/ChangeLog

	* c-common.c: Include fold-const.h.
	Include stor-layout.h.
	Include calls.h.
	Include stringpool.h.
	Include attribs.h.
	Include varasm.h.
	Include trans-mem.h.
	* c-cppbuiltin.c: Include stor-layout.h.
	Include stringpool.h.
	* c-format.c: Include stringpool.h.
	* c-lex.c: Include stringpool.h.
	Include stor-layout.h.
	* c-omp.c: Include tm.h.
	Include builtins.h.
	* c-pragma.c: Include stringpool.h.
	Include attribs.h.
	Include varasm.h.
	Include gcc-symtab.h.
	* c-pretty-print.c: Include stor-layout.h.
	Include attribs.h.
	* c-ubsan.c: Include tm.h.
	Include builtins.h.
	* cilk.c: Include tm.h.
	Include builtins.h.
	Include stringpool.h.
	Include calls.h.

c/ChangeLog

	* c-array-notation.c: Include tm.h.
	Include builtins.h.
	* c-decl.c: Include print-tree.h.
	Include stor-layout.h.
	Include varasm.h.
	Include attribs.h.
	Include stringpool.h.
	Include builtins.h.
	* c-lang.c: Include fold-const.h.
	* c-parser.c: Include stringpool.h.
	Include attribs.h.
	Include builtins.h.
	Include stor-layout.h.
	Include varasm.h.
	Include trans-mem.h.
	* c-typeck.c: Include stor-layout.h.
	Include trans-mem.h.
	Include varasm.h.
	Include stmt.h.
	Include builtins.h.

ChangeLog

	* alias.c: Include varasm.h.
	Include expr.h.
	* asan.c: Include tm.h.
	Include calls.h.
	Include builtins.h.
	Include stor-layout.h.
	Include varasm.h.
	* attribs.c: Include stringpool.h.
	Include attribs.h.
	Include stor-layout.h.
	* builtins.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	Include tree-object-size.h.
	* calls.c: Include stor-layout.h.
	Include varasm.h.
	Include stringpool.h.
	Include attribs.h.
	* cfgexpand.c: Include stringpool.h.
	Include varasm.h.
	Include builtins.h.
	Include stor-layout.h.
	Include stmt.h.
	Include print-tree.h.
	* cgraph.c: Include varasm.h.
	Include calls.h.
	Include print-tree.h.
	* cgraphclones.c: Include stringpool.h.
	Include function.h.
	Include emit-rtl.h.
	Move inclusion of rtl.h earlier in the file.
	* cgraphunit.c: Include varasm.h.
	Include stor-layout.h.
	Include stringpool.h.
	* cilk-common.c: Include tm.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include builtins.h.
	* combine.c: Include stor-layout.h.
	* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
	Include stringpool.h.
	Include calls.h.
	* config/aarch64/aarch64.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/alpha/alpha.c: Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/arc/arc.c: Include varasm.h.
	Include stor-layout.h.
	Include stringpool.h.
	Include builtins.h.
	Include calls.h.
	* config/arm/arm.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/avr/avr-c.c: Include stor-layout.h.
	* config/avr/avr-log.c: Include print-tree.h.
	* config/avr/avr.c: Include print-tree.h.
	Include builtins.h.
	Include calls.h.
	Include stor-layout.h.
	Include stringpool.h.
	* config/bfin/bfin.c: Include varasm.h.
	Include calls.h.
	* config/c6x/c6x.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	Include stringpool.h.
	* config/cr16/cr16.c: Include stor-layout.h.
	Include calls.h.
	* config/cris/cris.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	Include stmt.h.
	* config/darwin.c: Include stringpool.h.
	Include varasm.h.
	Include stor-layout.h.
	* config/epiphany/epiphany.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	Include stringpool.h.
	* config/fr30/fr30.c: Include stor-layout.h.
	Include varasm.h.
	* config/frv/frv.c: Include varasm.h.
	Include stor-layout.h.
	Include stringpool.h.
	* config/h8300/h8300.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	Include stringpool.h.
	* config/i386/i386.c: Include stringpool.h.
	Include attribs.h.
	Include calls.h.
	Include stor-layout.h.
	Include builtins.h.
	Include varasm.h.
	* config/i386/winnt-cxx.c: Include stringpool.h.
	Include attribs.h.
	* config/i386/winnt.c: Include stringpool.h.
	Include varasm.h.
	* config/ia64/ia64-c.c: Include stringpool.h.
	* config/ia64/ia64.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/iq2000/iq2000.c: Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/lm32/lm32.c: Include calls.h.
	* config/m32c/m32c.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/m32r/m32r.c: Include stor-layout.h.
	Include varasm.h.
	Include stringpool.h.
	Include calls.h.
	* config/m68k/m68k.c: Include calls.h.
	Include stor-layout.h.
	Include varasm.h.
	* config/mcore/mcore.c: Include stor-layout.h.
	Include varasm.h.
	Include stringpool.h.
	Include calls.h.
	* config/mep/mep.c: Include varasm.h.
	Include calls.h.
	Include stringpool.h.
	Include stor-layout.h.
	* config/microblaze/microblaze.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	* config/mips/mips.c: Include varasm.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	* config/mmix/mmix.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	* config/mn10300/mn10300.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/moxie/moxie.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/msp430/msp430.c: Include stor-layout.h.
	Include calls.h.
	* config/nds32/nds32.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/pa/pa.c: Include stor-layout.h.
	Include stringpool.h.
	Include varasm.h.
	Include calls.h.
	* config/pdp11/pdp11.c: Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/picochip/picochip.c: Include calls.h.
	Include stor-layout.h.
	Include stringpool.h.
	Include varasm.h.
	* config/rl78/rl78.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	* config/rs6000/rs6000-c.c: Include stor-layout.h.
	Include builtins.h.
	Include stringpool.h.
	* config/rs6000/rs6000.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include builtins.h.
	Include print-tree.h.
	Include varasm.h.
	* config/rx/rx.c: Include varasm.h.
	Include stor-layout.h.
	Include calls.h.
	* config/s390/s390.c: Include print-tree.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/score/score.c: Include stringpool.h.
	Include calls.h.
	Include varasm.h.
	Include stor-layout.h.
	* config/sh/sh-c.c: Include stringpool.h.
	Include attribs.h.h.
	* config/sh/sh.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/sol2-c.c: Include stringpool.h.
	Include attribs.h.
	* config/sol2-cxx.c: Include stringpool.h.
	* config/sol2.c: Include stringpool.h.
	Include varasm.h.
	* config/sparc/sparc.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include builtins.h.
	Include varasm.h.
	* config/spu/spu-c.c: Include stringpool.h.
	* config/spu/spu.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* config/stormy16/stormy16.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/tilegx/tilegx.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/tilepro/tilepro.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/v850/v850-c.c: Include stringpool.h.
	Include attribs.h.
	* config/v850/v850.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include calls.h.
	* config/vax/vax.c: Include calls.h.
	Include varasm.h.
	* config/vms/vms.c: Include stringpool.h.
	* config/vxworks.c: Include stringpool.h.
	* config/xtensa/xtensa.c: Include stringpool.h.
	Include stor-layout.h.
	Include calls.h.
	Include varasm.h.
	* convert.c: Include builtins.h.
	Include stor-layout.h.
	* coverage.c: Include stringpool.h.
	Include stor-layout.h.
	Include builtins.h.
	* dbxout.c: Include varasm.h.
	Include stor-layout.h.
	* dojump.c: Include stor-layout.h.
	* dse.c: Include stor-layout.h.
	* dwarf2asm.c: Include stringpool.h.
	Include varasm.h.
	* dwarf2cfi.c: Include stor-layout.h.
	* dwarf2out.c: Include rtl.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include function.h.
	Include emit-rtl.h.
	Move inclusion of rtl.h earlier in the file.
	* emit-rtl.c: Include varasm.h.
	Include builtins.h.
	* except.c: Include stringpool.h.
	Include stor-layout.h.
	* explow.c: Include stor-layout.h.
	* expmed.c: Include stor-layout.h.
	* expr.c: Include stringpool.h.
	Include stor-layout.h.
	Include builtins.h.
	Include attribs.h.
	Include varasm.h.
	* final.c: Include varasm.h.
	* fold-const.c: Include stor-layout.h.
	Include builtins.h.
	Include calls.h.
	Include tree-iterator.h.
	* function.c: Include stor-layout.h.
	Include varasm.h.
	Include stringpool.h.
	Include builtins.h.
	* genattrtab.c (write_header): Emit includes for varasm.h,
	stor-layout.h and calls.h.
	* genautomata.c (main): Likewise.
	* genemit.c: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c (output_prologue): Likewise.
	* genpeep.c: Likewise.
	* genpreds.c (write_insn_preds_c): Likewise.
	* gengtype.c (open_base_files): Add stringpool.h.
	* gimple-expr.c: Include stringpool.h.
	Include stor-layout.h.
	* gimple-fold.c: Include stringpool.h.
	Include builtins.h.
	Include expr.h.
	Include stmt.h.
	Include stor-layout.h.
	* gimple-low.c: Include tree-nested.h.
	Include calls.h.
	* gimple-pretty-print.c: Include stringpool.h.
	* gimple-ssa-strength-reduction.c: Include stor-layout.h.
	Include expr.h.
	Include builtins.h.
	* gimple-walk.c: Include stmt.h.
	* gimple.c: Include calls.h.
	Include stmt.h.
	Include stor-layout.h.
	Include builtins.h.
	* gimplify.c: Include stringpool.h.
	Include builtins.h.
	Include calls.h.
	Include varasm.h.
	Include stor-layout.h.
	Include stmt.h.
	Include print-tree.h.
	* internal-fn.c: Include stor-layout.h.
	* ipa-devirt.c: Include print-tree.h.
	Include calls.h.
	* ipa-inline-analysis.c: Include stor-layout.h.
	Include stringpool.h.
	Include print-tree.h.
	* ipa-inline.c: Include trans-mem.h.
	Include builtins.h.
	Include calls.h.
	* ipa-prop.c: Include expr.h.
	Include stor-layout.h.
	Include builtins.h.
	Include print-tree.h.
	* ipa-pure-const.c: Include print-tree.h.
	Include calls.h.
	* ipa-reference.c: Include calls.h.
	* ipa-split.c: Include stringpool.h.
	Include expr.h.
	Include calls.h.
	* ipa.c: Include calls.h.
	Include stringpool.h.
	Include builtins.h.
	* langhooks.c: Include stringpool.h.
	Include attribs.h.
	* lto-cgraph.c: Include stringpool.h.
	* lto-streamer-in.c: Include stringpool.h.
	* lto-streamer-out.c: Include stor-layout.h.
	Include stringpool.h.
	Include builtins.h.
	* omp-low.c: Include stringpool.h.
	Include stor-layout.h.
	Include builtins.h.
	Include expr.h.
	* optabs.c: Include stor-layout.h.
	Include stringpool.h.
	Include varasm.h.
	* passes.c: Include varasm.h.
	* predict.c: Include calls.h.
	* print-rtl.c: Include print-tree.h.
	* print-tree.c: Include varasm.h.
	Include print-rtl.h.
	Include stor-layout.h.
	* realmpfr.c: Include stor-layout.h.
	* reg-stack.c: Include varasm.h.
	* sdbout.c: Include varasm.h.
	Include stor-layout.h.
	* simplify-rtx.c: Include varasm.h.
	* stmt.c: Include varasm.h.
	Include stor-layout.h.
	* stor-layout.c: Include stor-layout.h.
	Include stringpool.h.
	Include builtins.h.
	Include varasm.h.
	Include print-tree.h.
	* symtab.c: Include rtl.h.
	Include print-tree.h.
	Include varasm.h.
	Include function.h.
	Include emit-rtl.h.
	* targhooks.c: Include stor-layout.h.
	Include varasm.h.
	Include builtins.h.
	* toplev.c: Include varasm.h.
	Include tree-inline.h.
	* trans-mem.c: Include tm.h.
	Include calls.h.
	Include builtins.h.
	Include function.h.
	Include rtl.h.
	Include emit-rtl.h.
	* tree-affine.c: Include expr.h.
	* tree-browser.c: Include print-tree.h.
	* tree-call-cdce.c: Include stor-layout.h.
	* tree-cfg.c: Include trans-mem.h.
	Include stor-layout.h.
	Include print-tree.h.
	* tree-complex.c: Include stor-layout.h.
	* tree-data-ref.c: Include expr.h.
	* tree-dfa.c: Include stor-layout.h.
	* tree-eh.c: Include expr.h.
	Include calls.h.
	* tree-emutls.c: Include tm.h.
	Include stor-layout.h.
	Include varasm.h.
	Include builtins.h.
	* tree-if-conv.c: Include stor-layout.h.
	* tree-inline.c: Include stor-layout.h.
	Include calls.h.
	Include builtins.h.
	* tree-loop-distribution.c: Include stor-layout.h.
	* tree-nested.c: Include stringpool.h.
	Include stor-layout.h.
	* tree-object-size.c: Include builtins.h.
	Include tree-object-size.h.
	* tree-outof-ssa.c: Include stor-layout.h.
	* tree-parloops.c: Include stor-layout.h.
	Include tree-nested.h.
	* tree-pretty-print.c: Include stor-layout.h.
	Include expr.h.
	* tree-profile.c: Include varasm.h.
	Include tree-nested.h.
	* tree-scalar-evolution.c: Include expr.h.
	* tree-sra.c: Include builtins.h.
	Include stor-layout.h.
	* tree-ssa-address.c: Include stor-layout.h.
	* tree-ssa-ccp.c: Include stor-layout.h.
	Include builtins.h.
	* tree-ssa-dce.c: Include calls.h.
	* tree-ssa-dom.c: Include stor-layout.h.
	* tree-ssa-forwprop.c: Include stor-layout.h.
	Include builtins.h.
	* tree-ssa-ifcombine.c: Include stor-layout.h.
	* tree-ssa-loop-ivcanon.c: Include builtins.h.
	* tree-ssa-loop-ivopts.c: Include stor-layout.h.
	Include builtins.h.
	* tree-ssa-loop-niter.c: Include calls.h.
	Include expr.h.
	* tree-ssa-loop-prefetch.c: Include stor-layout.h.
	* tree-ssa-math-opts.c: Include stor-layout.h.
	Include builtins.h.
	* tree-ssa-operands.c: Include stmt.h.
	Include print-tree.h.
	* tree-ssa-phiopt.c: Include stor-layout.h.
	* tree-ssa-reassoc.c: Include stor-layout.h.
	Include builtins.h.
	* tree-ssa-sccvn.c: Include stor-layout.h.
	Include builtins.h.
	* tree-ssa-sink.c: Include stor-layout.h.
	* tree-ssa-strlen.c: Include stor-layout.h.
	* tree-ssa-structalias.c: Include stor-layout.h.
	Include stmt.h.
	* tree-ssa-tail-merge.c: Include stor-layout.h.
	Include trans-mem.h.
	* tree-ssa-threadedge.c: Include builtins.h.
	* tree-ssa-uncprop.c: Include stor-layout.h.
	* tree-ssa.c: Include stor-layout.h.
	* tree-ssanames.c: Include stor-layout.h.
	* tree-streamer-in.c: Include tm.h.
	Include stringpool.h.
	Include builtins.h.
	* tree-streamer-out.c: Include stor-layout.h.
	* tree-switch-conversion.c: Include varasm.h.
	Include stor-layout.h.
	* tree-tailcall.c: Include stor-layout.h.
	* tree-vect-data-refs.c: Include stor-layout.h.
	Include builtins.h.
	* tree-vect-generic.c: Include stor-layout.h.
	* tree-vect-loop.c: Include stor-layout.h.
	* tree-vect-patterns.c: Include builtins.h.
	Include stor-layout.h.
	* tree-vect-slp.c: Include stor-layout.h.
	* tree-vect-stmts.c: Include stor-layout.h.
	* tree-vectorizer.c: Include stor-layout.h.
	* tree-vrp.c: Include stor-layout.h.
	Include calls.h.
	* tree.c: Include stor-layout.h.
	Include builtins.h.
	Include calls.h.
	Include attribs.h.
	Include varasm.h.
	* tsan.c: Include expr.h.
	Include builtins.h.
	Move inclusion of tm.h earlier in the file.
	* ubsan.c: Include tm.h.
	Include stor-layout.h.
	Include stringpool.h.
	Include builtins.h.
	* value-prof.c: Include tree-nested.h.
	Include calls.h.
	Include builtins.h.
	* var-tracking.c: Include varasm.h.
	Include stor-layout.h.
	* varasm.c: Include stor-layout.h.
	Include stringpool.h.
	Include gcc-symtab.h.
	Include varasm.h.
	* varpool.c: Include varasm.h.
	* vmsdbgout.c: Include varasm.h.
	* vtable-verify.c: Include tm.h.
	Include builtins.h.
	* xcoffout.c: Include varasm.h.

cp/ChangeLog

	* call.c: Include stor-layout.h.
	Include trans-mem.h.
	Include stringpool.h.
	* class.c: Include stringpool.h.
	Include stor-layout.h.
	Include attribs.h.
	* cp-gimplify.c: Include stor-layout.h.
	* cvt.c: Include stor-layout.h.
	* decl.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include attribs.h.
	Include builtins.h.
	Include calls.h.
	* decl2.c: Include stringpool.h.
	Include varasm.h.
	Include attribs.h.
	Include stor-layout.h.
	Include calls.h.
	* error.c: Include stringpool.h.
	* except.c: Include stringpool.h.
	Include trans-mem.h.
	Include attribs.h.
	* init.c: Include stringpool.h.
	Include varasm.h.
	* lambda.c: Include stringpool.h.
	* lex.c: Include stringpool.h.
	* mangle.c: Include stor-layout.h.
	Include stringpool.h.
	* method.c: Include stringpool.h.
	Include varasm.h.
	* name-lookup.c: Include stringpool.h.
	Include print-tree.h.
	Include attribs.h.
	* optimize.c: Include stringpool.h.
	* parser.c: Include print-tree.h.
	Include stringpool.h.
	Include attribs.h.
	Include trans-mem.h.
	* pt.c: Include stringpool.h.
	Include varasm.h.
	Include attribs.h.
	Include stor-layout.h.
	* ptree.c: Include print-tree.h.
	* repo.c: Include stringpool.h.
	* rtti.c: Include stringpool.h.
	Include stor-layout.h.
	* semantics.c: Include stmt.h.
	Include varasm.h.
	Include stor-layout.h.
	Include stringpool.h.
	Include builtins.h.
	* tree.c: Include stor-layout.h.
	Include print-tree.h.
	Include tree-iterator.h.
	* typeck.c: Include stor-layout.h.
	Include varasm.h.
	* typeck2.c: Include stor-layout.h.
	Include varasm.h.
	* vtable-class-hierarchy.c: Include stringpool.h.
	Include builtins.h.
	Include stor-layout.h.

fortran/ChangeLog

	* decl.c: Include stringpool.h.
	* iresolve.c: Include stringpool.h.
	* match.c: Include stringpool.h.
	* module.c: Include stringpool.h.
	* target-memory.c: Include stor-layout.h.
	* trans-array.c: Include tm.h.
	Include builtins.h.
	* trans-common.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	* trans-const.c: Include stor-layout.h.
	* trans-decl.c: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	Include attribs.h.
	Include builtins.h.
	* trans-expr.c: Include tm.h.
	Include stringpool.h.
	Include builtins.h.
	* trans-intrinsic.c: Include builtins.h.
	Include stringpool.h.
	Include tree-nested.h.
	Include stor-layout.h.
	* trans-io.c: Include tm.h.
	Include stringpool.h.
	Include builtins.h.
	Include stor-layout.h.
	* trans-openmp.c: Include tm.h.
	Include builtins.h.
	Include stringpool.h.
	* trans-stmt.c: Include tm.h.
	Include builtins.h.
	Include stringpool.h.
	* trans-types.c: Include stor-layout.h.
	Include stringpool.h.
	* trans.c: Include tm.h.
	Include builtins.h.
	Include stringpool.h.

go/ChangeLog

	* go-backend.c: Include stor-layout.h.
	* go-gcc.cc: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	* go-lang.c: Include stor-layout.h.
	* gofrontend/expressions.cc: Include tm.h.
	Include builtins.h.
	Include stringpool.h.
	Include stor-layout.h.
	* gofrontend/gogo-tree.cc: Include tm.h.
	Include stringpool.h.
	Include builtins.h.
	Include stor-layout.h.
	Include varasm.h.

java/ChangeLog

	* builtins.c: Include builtins.h.
	Include stor-layout.h.
	Include stringpool.h.
	* class.c: Include tm.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include builtins.h.
	Include varasm.h.
	* constants.c: Include stringpool.h.
	Include stor-layout.h.
	* decl.c: Include stor-layout.h.
	Include stringpool.h.
	Include varasm.h.
	* except.c: Include stringpool.h.
	Include stor-layout.h.
	Include builtins.h.
	* expr.c: Include stringpool.h.
	Include stor-layout.h.
	Include builtins.h.
	* jcf-parse.c: Include stringpool.h.
	* mangle.c: Include stringpool.h.
	* resource.c: Include tm.h.
	Include stringpool.h.
	Include stor-layout.h.
	Include builtins.h.
	* typeck.c: Include stor-layout.h.
	Include stringpool.h.
	* verify-glue.c: Include stringpool.h.

lto/ChangeLog

	* lto-lang.c: Include stringpool.h.
	Include stor-layout.h.
	* lto-partition.c: Include gcc-symtab.h.
	* lto-symtab.c: Include tm.h.
	Include builtins.h.
	* lto.c: Include stor-layout.h.

objc/ChangeLog

	* objc-act.c: Include stringpool.h.
	Include stor-layout.h.
	Include attribs.h.
	* objc-encoding.c: Include stringpool.h.
	Include stor-layout.h.
	* objc-gnu-runtime-abi-01.c: Include tm.h.
	Include stringpool.h.
	Include builtins.h.
	* objc-next-runtime-abi-01.c: Include tm.h.
	Include stringpool.h.
	Include builtins.h.
	* objc-next-runtime-abi-02.c: Include stringpool.h.
	Include builtins.h.
	* objc-runtime-shared-support.c: Include stringpool.h.

Comments

Joseph Myers Nov. 14, 2013, 10:16 p.m. UTC | #1
On Thu, 14 Nov 2013, Diego Novillo wrote:

> This patch contains the mechanical side-effects from
> http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01663.html

There are rather a lot of "Include tm.h" changes here - especially in 
front ends, where we've tried to eliminate tm.h calls, and put comments on 
some of those remaining saying exactly what target macros are used to make 
clear what's needed to eliminate them.  Putting in these includes, without 
clear comments explaining how to eliminate them, seems a step backwards.

As far as I can see, your previous patch did not add any declarations to 
tm.h itself, so I guess this is because files are now including some other 
header that has a tm.h requirement.  This indicates that this other header 
needs to be split up, with the parts needing tm.h separate from those that 
don't (well - a more logical split would be better than one based on 
"needing tm.h"), to avoid regressing so much in the elimination of tm.h 
from front ends.

(FWIW, I consider tm.h one of the worst headers in modularity terms, and 
one of the most important to eliminate includes of.)
Diego Novillo Nov. 14, 2013, 10:25 p.m. UTC | #2
On Thu, Nov 14, 2013 at 5:16 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> On Thu, 14 Nov 2013, Diego Novillo wrote:
>
>> This patch contains the mechanical side-effects from
>> http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01663.html
>
> There are rather a lot of "Include tm.h" changes here - especially in
> front ends, where we've tried to eliminate tm.h calls, and put comments on
> some of those remaining saying exactly what target macros are used to make
> clear what's needed to eliminate them.  Putting in these includes, without
> clear comments explaining how to eliminate them, seems a step backwards.

These are due to builtins.h.  The structs defined in there need
FIRST_PSEUDO_REGISTER.  This means that we have parts of builtins.h
that are OK for FEs and others that aren't.  This is not good.

The best alternative for this change is to leave the declarations for
builtins.h inside tree.h and then decide what to do about builtins.h
itself. We clearly need it to declare everything related to builtins,
but from what you're stating about tm.h, we will need to have an FE
variant and an ME/BE variant?


Diego.
Joseph Myers Nov. 14, 2013, 10:40 p.m. UTC | #3
On Thu, 14 Nov 2013, Diego Novillo wrote:

> These are due to builtins.h.  The structs defined in there need
> FIRST_PSEUDO_REGISTER.  This means that we have parts of builtins.h
> that are OK for FEs and others that aren't.  This is not good.
> 
> The best alternative for this change is to leave the declarations for
> builtins.h inside tree.h and then decide what to do about builtins.h
> itself. We clearly need it to declare everything related to builtins,
> but from what you're stating about tm.h, we will need to have an FE
> variant and an ME/BE variant?

I imagine that FIRST_PSEUDO_REGISTER will be one of the harder parts of 
the back-end interface to move away from macros, so, yes, it will need 
splitting (and GIMPLE optimizers, as well as front ends, should avoid tm.h 
where possible - target macros they use are generally among the more 
straightforward to convert to hooks - it's only the RTL parts of the 
compiler where we're a long way from being able to eliminate tm.h).

So, put all the new prototypes in a new tree-builtins.h (for example).  
Everything in the existing header needs tm.h (SWITCHABLE_TARGET also needs 
tm.h - most flags.h users manage to get away without it because they don't 
use those bits of flags.h, but really users of flags.h should move to 
options.h and other headers as needed).
diff mbox

Patch

diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index d386602..cead584 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -28,6 +28,8 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "toplev.h"
 #include "ggc.h"
diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c
index 3abe57b..b148ba4 100644
--- a/gcc/ada/gcc-interface/misc.c
+++ b/gcc/ada/gcc-interface/misc.c
@@ -30,6 +30,8 @@ 
 #include "options.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "print-tree.h"
 #include "diagnostic.h"
 #include "target.h"
 #include "ggc.h"
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 9336a69..83cf10d 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -28,6 +28,11 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "stmt.h"
+#include "varasm.h"
 #include "flags.h"
 #include "ggc.h"
 #include "output.h"
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index 01a6028..e776674 100644
--- a/gcc/ada/gcc-interface/utils.c
+++ b/gcc/ada/gcc-interface/utils.c
@@ -28,6 +28,10 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "attribs.h"
+#include "varasm.h"
 #include "flags.h"
 #include "toplev.h"
 #include "diagnostic-core.h"
diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c
index 9410b40..b1415c9 100644
--- a/gcc/ada/gcc-interface/utils2.c
+++ b/gcc/ada/gcc-interface/utils2.c
@@ -28,6 +28,10 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "flags.h"
 #include "toplev.h"
 #include "ggc.h"
diff --git a/gcc/alias.c b/gcc/alias.c
index 1736169..87a9b19 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -24,6 +24,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "varasm.h"
+#include "expr.h"
 #include "tm_p.h"
 #include "function.h"
 #include "alias.h"
diff --git a/gcc/asan.c b/gcc/asan.c
index 2a1dceb..481bf14 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -22,10 +22,15 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
 #include "gimple.h"
 #include "gimplify.h"
 #include "gimple-iterator.h"
+#include "calls.h"
+#include "varasm.h"
+#include "builtins.h"
+#include "stor-layout.h"
 #include "tree-iterator.h"
 #include "cgraph.h"
 #include "tree-ssanames.h"
diff --git a/gcc/attribs.c b/gcc/attribs.c
index 296bcd6..19b697d 100644
--- a/gcc/attribs.c
+++ b/gcc/attribs.c
@@ -22,6 +22,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 7a04664..c942d6f 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -24,6 +24,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
+#include "tree-object-size.h"
 #include "realmpfr.h"
 #include "gimple.h"
 #include "flags.h"
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 7955bb1..f130f2b 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -23,6 +23,13 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "intl.h"
 #include "tree.h"
+#include "fold-const.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "stringpool.h"
+#include "attribs.h"
+#include "varasm.h"
+#include "trans-mem.h"
 #include "flags.h"
 #include "c-pragma.h"
 #include "ggc.h"
diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
index b9a0f18..f81e5b8 100644
--- a/gcc/c-family/c-cppbuiltin.c
+++ b/gcc/c-family/c-cppbuiltin.c
@@ -22,6 +22,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
 #include "version.h"
 #include "flags.h"
 #include "c-common.h"
diff --git a/gcc/c-family/c-format.c b/gcc/c-family/c-format.c
index 99cae17..6af36e5 100644
--- a/gcc/c-family/c-format.c
+++ b/gcc/c-family/c-format.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "flags.h"
 #include "c-common.h"
 #include "c-objc.h"
diff --git a/gcc/c-family/c-lex.c b/gcc/c-family/c-lex.c
index 6484352..85fa426 100644
--- a/gcc/c-family/c-lex.c
+++ b/gcc/c-family/c-lex.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 #include "input.h"
 #include "c-common.h"
 #include "flags.h"
diff --git a/gcc/c-family/c-omp.c b/gcc/c-family/c-omp.c
index b342bd2..1764b7b 100644
--- a/gcc/c-family/c-omp.c
+++ b/gcc/c-family/c-omp.c
@@ -24,7 +24,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "builtins.h"
 #include "c-common.h"
 #include "c-pragma.h"
 #include "gimple-expr.h"
diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c
index c75b087..19b6a11 100644
--- a/gcc/c-family/c-pragma.c
+++ b/gcc/c-family/c-pragma.c
@@ -22,6 +22,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
+#include "varasm.h"
+#include "gcc-symtab.h"
 #include "function.h"		/* For cfun.  FIXME: Does the parser know
 				   when it is inside a function, so that
 				   we don't have to look at cfun?  */
diff --git a/gcc/c-family/c-pretty-print.c b/gcc/c-family/c-pretty-print.c
index 652c3a8..87cb7d4 100644
--- a/gcc/c-family/c-pretty-print.c
+++ b/gcc/c-family/c-pretty-print.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "attribs.h"
 #include "intl.h"
 #include "c-pretty-print.h"
 #include "tree-pretty-print.h"
diff --git a/gcc/c-family/c-ubsan.c b/gcc/c-family/c-ubsan.c
index dbac348..9e2ab92 100644
--- a/gcc/c-family/c-ubsan.c
+++ b/gcc/c-family/c-ubsan.c
@@ -21,7 +21,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "builtins.h"
 #include "alloc-pool.h"
 #include "cgraph.h"
 #include "output.h"
diff --git a/gcc/c-family/cilk.c b/gcc/c-family/cilk.c
index 165348f..9d80a0c 100644
--- a/gcc/c-family/cilk.c
+++ b/gcc/c-family/cilk.c
@@ -23,7 +23,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "builtins.h"
+#include "stringpool.h"
+#include "calls.h"
 #include "langhooks.h"
 #include "gimple.h"
 #include "gimplify.h"
diff --git a/gcc/c/c-array-notation.c b/gcc/c/c-array-notation.c
index 5747bcb..489bc8a 100644
--- a/gcc/c/c-array-notation.c
+++ b/gcc/c/c-array-notation.c
@@ -68,7 +68,9 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "builtins.h"
 #include "c-tree.h"
 #include "tree-iterator.h"
 #include "opts.h"
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index 92fc68f..30ca34a 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -31,6 +31,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "intl.h"
 #include "tree.h"
+#include "print-tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "attribs.h"
+#include "stringpool.h"
+#include "builtins.h"
 #include "tree-inline.h"
 #include "flags.h"
 #include "function.h"
diff --git a/gcc/c/c-lang.c b/gcc/c/c-lang.c
index 614c46d..8b0dca6 100644
--- a/gcc/c/c-lang.c
+++ b/gcc/c/c-lang.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "fold-const.h"
 #include "c-tree.h"
 #include "c-family/c-common.h"
 #include "langhooks.h"
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index ffbf3c4..263b01e 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -40,6 +40,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"			/* For rtl.h: needs enum reg_class.  */
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
+#include "builtins.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "trans-mem.h"
 #include "langhooks.h"
 #include "input.h"
 #include "cpplib.h"
diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c
index a9c9e6e..43660ee 100644
--- a/gcc/c/c-typeck.c
+++ b/gcc/c/c-typeck.c
@@ -28,6 +28,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "trans-mem.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "builtins.h"
 #include "langhooks.h"
 #include "c-tree.h"
 #include "c-lang.h"
diff --git a/gcc/calls.c b/gcc/calls.c
index 4dcdb27..726ba23 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -23,6 +23,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "stringpool.h"
+#include "attribs.h"
 #include "gimple.h"
 #include "flags.h"
 #include "expr.h"
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 9b480a2..3fa750f 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -24,6 +24,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "rtl.h"
 #include "hard-reg-set.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
+#include "builtins.h"
+#include "stor-layout.h"
+#include "stmt.h"
+#include "print-tree.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "function.h"
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 2841055..f488c9b 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -28,6 +28,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
+#include "calls.h"
+#include "print-tree.h"
 #include "tree-inline.h"
 #include "langhooks.h"
 #include "hashtab.h"
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index f91fcfc..58ef2c2 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -68,9 +68,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
+#include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "function.h"
+#include "emit-rtl.h"
 #include "gimple.h"
-#include "rtl.h"
 #include "bitmap.h"
 #include "tree-cfg.h"
 #include "tree-inline.h"
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 8ab274b..879e525 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -162,6 +162,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "stringpool.h"
 #include "output.h"
 #include "rtl.h"
 #include "gimple.h"
diff --git a/gcc/cilk-common.c b/gcc/cilk-common.c
index 8e070a3..a84cd7a 100644
--- a/gcc/cilk-common.c
+++ b/gcc/cilk-common.c
@@ -23,7 +23,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "langhooks.h"
 #include "expr.h"
 #include "optabs.h"
diff --git a/gcc/combine.c b/gcc/combine.c
index 13f5e29..fb5c881 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -81,6 +81,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "flags.h"
 #include "regs.h"
diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index 2f1a8d0..2dc7838 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -24,6 +24,9 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "calls.h"
 #include "expr.h"
 #include "tm_p.h"
 #include "recog.h"
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index cfda95e..639a24e 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -26,6 +26,10 @@ 
 #include "rtl.h"
 #include "insn-attr.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
 #include "regs.h"
 #include "df.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index cc455e2..6fceb4c 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -25,6 +25,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
 #include "regs.h"
 #include "hard-reg-set.h"
 #include "insn-config.h"
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 7b1853b..abf1982 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -34,6 +34,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "builtins.h"
+#include "calls.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 64c6b49..18f4b22 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -27,6 +27,10 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
 #include "obstack.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/avr/avr-c.c b/gcc/config/avr/avr-c.c
index 4e64405..2cfb264 100644
--- a/gcc/config/avr/avr-c.c
+++ b/gcc/config/avr/avr-c.c
@@ -26,6 +26,7 @@ 
 #include "tm_p.h"
 #include "cpplib.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "target.h"
 #include "c-family/c-common.h"
 #include "langhooks.h"
diff --git a/gcc/config/avr/avr-log.c b/gcc/config/avr/avr-log.c
index 87fa14d..3d2f54d 100644
--- a/gcc/config/avr/avr-log.c
+++ b/gcc/config/avr/avr-log.c
@@ -24,6 +24,7 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "print-tree.h"
 #include "output.h"
 #include "input.h"
 #include "function.h"
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index e7e1c2f..e935ff0 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -32,6 +32,11 @@ 
 #include "flags.h"
 #include "reload.h"
 #include "tree.h"
+#include "print-tree.h"
+#include "builtins.h"
+#include "calls.h"
+#include "stor-layout.h"
+#include "stringpool.h"
 #include "output.h"
 #include "expr.h"
 #include "c-family/c-common.h"
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index bd677f8..0d473cb 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -32,6 +32,8 @@ 
 #include "output.h"
 #include "insn-attr.h"
 #include "tree.h"
+#include "varasm.h"
+#include "calls.h"
 #include "flags.h"
 #include "except.h"
 #include "function.h"
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index a37e02f..af310ba 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -25,6 +25,10 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
+#include "stringpool.h"
 #include "insn-flags.h"
 #include "output.h"
 #include "insn-attr.h"
diff --git a/gcc/config/cr16/cr16.c b/gcc/config/cr16/cr16.c
index 1ac29cc..b397276 100644
--- a/gcc/config/cr16/cr16.c
+++ b/gcc/config/cr16/cr16.c
@@ -24,6 +24,8 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "tm_p.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index 7432251..2d2a108 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -30,6 +30,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "insn-attr.h"
 #include "flags.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "stmt.h"
 #include "expr.h"
 #include "except.h"
 #include "function.h"
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 3a5287f..9b4cd11 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -32,6 +32,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "insn-attr.h"
 #include "flags.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
+#include "stor-layout.h"
 #include "expr.h"
 #include "reload.h"
 #include "function.h"
diff --git a/gcc/config/epiphany/epiphany.c b/gcc/config/epiphany/epiphany.c
index fd4c01c..1976764 100644
--- a/gcc/config/epiphany/epiphany.c
+++ b/gcc/config/epiphany/epiphany.c
@@ -23,6 +23,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
+#include "stringpool.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/fr30/fr30.c b/gcc/config/fr30/fr30.c
index 4a45fea..caa50d9 100644
--- a/gcc/config/fr30/fr30.c
+++ b/gcc/config/fr30/fr30.c
@@ -33,6 +33,8 @@ 
 #include "flags.h"
 #include "recog.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
 #include "output.h"
 #include "expr.h"
 #include "obstack.h"
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index bcd5511..6e74fe4 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -23,6 +23,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "stringpool.h"
 #include "regs.h"
 #include "hard-reg-set.h"
 #include "insn-config.h"
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 69f37fd..f0ebca3 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -25,6 +25,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
+#include "stringpool.h"
 #include "regs.h"
 #include "hard-reg-set.h"
 #include "insn-config.h"
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index d581b96..fc497ab 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -23,6 +23,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
+#include "calls.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "varasm.h"
 #include "tm_p.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/i386/winnt-cxx.c b/gcc/config/i386/winnt-cxx.c
index 92de46a..d466299 100644
--- a/gcc/config/i386/winnt-cxx.c
+++ b/gcc/config/i386/winnt-cxx.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
 #include "cp/cp-tree.h" /* This is why we're a separate module.  */
 #include "flags.h"
 #include "tm_p.h"
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index 94155d8..2c1677e 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -27,6 +27,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "output.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "flags.h"
 #include "tm_p.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/ia64/ia64-c.c b/gcc/config/ia64/ia64-c.c
index 4d4dbc8..6489668 100644
--- a/gcc/config/ia64/ia64-c.c
+++ b/gcc/config/ia64/ia64-c.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "cpplib.h"
 #include "c-family/c-common.h"
 #include "c-family/c-pragma.h"
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index e6bd96d..12dec07 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -25,6 +25,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
 #include "regs.h"
 #include "hard-reg-set.h"
 #include "insn-config.h"
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c
index da6f757..3ae3e52 100644
--- a/gcc/config/iq2000/iq2000.c
+++ b/gcc/config/iq2000/iq2000.c
@@ -22,6 +22,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c
index 6483a03..6bddc48 100644
--- a/gcc/config/lm32/lm32.c
+++ b/gcc/config/lm32/lm32.c
@@ -35,6 +35,7 @@ 
 #include "recog.h"
 #include "output.h"
 #include "tree.h"
+#include "calls.h"
 #include "expr.h"
 #include "flags.h"
 #include "reload.h"
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index deac40c..ec30b8d 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -36,6 +36,9 @@ 
 #include "diagnostic-core.h"
 #include "obstack.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index c94da53..6cee5d7 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -22,6 +22,10 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "stringpool.h"
+#include "calls.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 7035504..db1554d 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -22,6 +22,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "calls.h"
+#include "stor-layout.h"
+#include "varasm.h"
 #include "rtl.h"
 #include "function.h"
 #include "regs.h"
diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c
index 6550b69..6bd6070 100644
--- a/gcc/config/mcore/mcore.c
+++ b/gcc/config/mcore/mcore.c
@@ -23,6 +23,10 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "stringpool.h"
+#include "calls.h"
 #include "tm_p.h"
 #include "mcore.h"
 #include "regs.h"
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index 489bef9..6ce6c53 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -24,6 +24,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "varasm.h"
+#include "calls.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 #include "regs.h"
 #include "hard-reg-set.h"
 #include "insn-config.h"
diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
index 3258a95..93dede4 100644
--- a/gcc/config/microblaze/microblaze.c
+++ b/gcc/config/microblaze/microblaze.c
@@ -33,6 +33,9 @@ 
 #include "insn-attr.h"
 #include "recog.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "function.h"
 #include "expr.h"
 #include "flags.h"
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index b2fd57b..1097b34 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -34,6 +34,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "recog.h"
 #include "output.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c
index 34b4fea..eb43af7 100644
--- a/gcc/config/mmix/mmix.c
+++ b/gcc/config/mmix/mmix.c
@@ -31,6 +31,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "flags.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "function.h"
 #include "expr.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index df563d0..342c336 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -24,6 +24,9 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "regs.h"
 #include "hard-reg-set.h"
 #include "insn-config.h"
diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c
index d4f7d6d..abba0ae 100644
--- a/gcc/config/moxie/moxie.c
+++ b/gcc/config/moxie/moxie.c
@@ -36,6 +36,9 @@ 
 #include "diagnostic-core.h"
 #include "obstack.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c
index 1ebb583..daff4ae 100644
--- a/gcc/config/msp430/msp430.c
+++ b/gcc/config/msp430/msp430.c
@@ -23,6 +23,8 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c
index f039e27..4454bf2 100644
--- a/gcc/config/nds32/nds32.c
+++ b/gcc/config/nds32/nds32.c
@@ -25,6 +25,9 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 260830f..2aa63c6 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -30,6 +30,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "insn-attr.h"
 #include "flags.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "varasm.h"
+#include "calls.h"
 #include "output.h"
 #include "dbxout.h"
 #include "except.h"
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c
index 0a310c5..42237b5 100644
--- a/gcc/config/pdp11/pdp11.c
+++ b/gcc/config/pdp11/pdp11.c
@@ -33,6 +33,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "recog.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "tm_p.h"
diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
index f10d1ce..2da27b7 100644
--- a/gcc/config/picochip/picochip.c
+++ b/gcc/config/picochip/picochip.c
@@ -34,6 +34,10 @@  along with GCC; see the file COPYING3.  If not, see
 #include "recog.h"
 #include "obstack.h"
 #include "tree.h"
+#include "calls.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
index f071e31..72aefc2 100644
--- a/gcc/config/rl78/rl78.c
+++ b/gcc/config/rl78/rl78.c
@@ -23,6 +23,9 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c
index 283cc91..309e6ff 100644
--- a/gcc/config/rs6000/rs6000-c.c
+++ b/gcc/config/rs6000/rs6000-c.c
@@ -26,6 +26,9 @@ 
 #include "tm.h"
 #include "cpplib.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "stringpool.h"
 #include "c-family/c-common.h"
 #include "c-family/c-pragma.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 539dc56..49225eb 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -32,6 +32,12 @@ 
 #include "recog.h"
 #include "obstack.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "builtins.h"
+#include "print-tree.h"
+#include "varasm.h"
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c
index 8986092..662ab9b 100644
--- a/gcc/config/rx/rx.c
+++ b/gcc/config/rx/rx.c
@@ -27,6 +27,9 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index ed8eefa..02c3c19 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -26,6 +26,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "print-tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "tm_p.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/score/score.c b/gcc/config/score/score.c
index c25aaa2..3fdf2ea 100644
--- a/gcc/config/score/score.c
+++ b/gcc/config/score/score.c
@@ -32,6 +32,10 @@ 
 #include "diagnostic-core.h"
 #include "output.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "calls.h"
+#include "varasm.h"
+#include "stor-layout.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
diff --git a/gcc/config/sh/sh-c.c b/gcc/config/sh/sh-c.c
index 4f3a41a..22e291d 100644
--- a/gcc/config/sh/sh-c.c
+++ b/gcc/config/sh/sh-c.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h.h"
 #include "tm_p.h"
 #include "cpplib.h"
 #include "c-family/c-common.h"
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index b812b8c..4a96b2e 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -26,6 +26,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "insn-config.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
 #include "flags.h"
 #include "expr.h"
 #include "optabs.h"
diff --git a/gcc/config/sol2-c.c b/gcc/config/sol2-c.c
index ee44621..8254af0 100644
--- a/gcc/config/sol2-c.c
+++ b/gcc/config/sol2-c.c
@@ -22,6 +22,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
 #include "tm.h"
 #include "tm_p.h"
 
diff --git a/gcc/config/sol2-cxx.c b/gcc/config/sol2-cxx.c
index e1b450d..d3d7955 100644
--- a/gcc/config/sol2-cxx.c
+++ b/gcc/config/sol2-cxx.c
@@ -21,6 +21,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "cp/cp-tree.h"
 #include "tm.h"
 #include "tm_p.h"
diff --git a/gcc/config/sol2.c b/gcc/config/sol2.c
index 7c7c429..4200e620 100644
--- a/gcc/config/sol2.c
+++ b/gcc/config/sol2.c
@@ -22,6 +22,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "output.h"
 #include "tm.h"
 #include "rtl.h"
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index e72ee3f..cdb1aba 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -25,6 +25,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "builtins.h"
+#include "varasm.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/spu/spu-c.c b/gcc/config/spu/spu-c.c
index 215962f..7632ec1 100644
--- a/gcc/config/spu/spu-c.c
+++ b/gcc/config/spu/spu-c.c
@@ -20,6 +20,7 @@ 
 #include "tm.h"
 #include "cpplib.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "c-family/c-common.h"
 #include "c-family/c-pragma.h"
 #include "tm_p.h"
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index e344b73..ebbcde0 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -28,6 +28,10 @@ 
 #include "recog.h"
 #include "obstack.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 3a08534..d5a1fc6 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -35,6 +35,10 @@ 
 #include "diagnostic-core.h"
 #include "obstack.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c
index bf13d11..809beef 100644
--- a/gcc/config/tilegx/tilegx.c
+++ b/gcc/config/tilegx/tilegx.c
@@ -41,6 +41,10 @@ 
 #include "timevar.h"
 #include "tree.h"
 #include "gimple.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "gimplify.h"
 #include "cfgloop.h"
 #include "tilegx-builtins.h"
diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c
index d497f64..9fe1b10 100644
--- a/gcc/config/tilepro/tilepro.c
+++ b/gcc/config/tilepro/tilepro.c
@@ -42,6 +42,10 @@ 
 #include "timevar.h"
 #include "tree.h"
 #include "gimple.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "gimplify.h"
 #include "cfgloop.h"
 #include "tilepro-builtins.h"
diff --git a/gcc/config/v850/v850-c.c b/gcc/config/v850/v850-c.c
index 63ef368..25158d5 100644
--- a/gcc/config/v850/v850-c.c
+++ b/gcc/config/v850/v850-c.c
@@ -24,6 +24,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "cpplib.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
 #include "c-family/c-pragma.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c
index 006cff4..32fe73b 100644
--- a/gcc/config/v850/v850.c
+++ b/gcc/config/v850/v850.c
@@ -23,6 +23,10 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "calls.h"
 #include "rtl.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/config/vax/vax.c b/gcc/config/vax/vax.c
index 6b643d1..7aac7cb 100644
--- a/gcc/config/vax/vax.c
+++ b/gcc/config/vax/vax.c
@@ -24,6 +24,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "rtl.h"
 #include "df.h"
 #include "tree.h"
+#include "calls.h"
+#include "varasm.h"
 #include "regs.h"
 #include "hard-reg-set.h"
 #include "insn-config.h"
diff --git a/gcc/config/vms/vms.c b/gcc/config/vms/vms.c
index ba1e2a6..3047cfd 100644
--- a/gcc/config/vms/vms.c
+++ b/gcc/config/vms/vms.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "vms-protos.h"
 #include "ggc.h"
 #include "target.h"
diff --git a/gcc/config/vxworks.c b/gcc/config/vxworks.c
index 2900d97..2940ea1 100644
--- a/gcc/config/vxworks.c
+++ b/gcc/config/vxworks.c
@@ -26,6 +26,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "output.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 
 /* Like default_named_section_asm_out_constructor, except that even
    constructors with DEFAULT_INIT_PRIORITY must go in a numbered
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 6385c5d..9e6bb23 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -34,6 +34,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "recog.h"
 #include "output.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "varasm.h"
 #include "expr.h"
 #include "flags.h"
 #include "reload.h"
diff --git a/gcc/convert.c b/gcc/convert.c
index a2f2a33..41bd53f 100644
--- a/gcc/convert.c
+++ b/gcc/convert.c
@@ -26,6 +26,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "builtins.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "convert.h"
 #include "diagnostic-core.h"
diff --git a/gcc/coverage.c b/gcc/coverage.c
index 9b0fc8b..9ac2c6d 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -30,6 +30,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "flags.h"
 #include "output.h"
 #include "regs.h"
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 961ee2c..af73869 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -27,6 +27,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "trans-mem.h"
+#include "stringpool.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "toplev.h"
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 1df16d4..7f26cd6 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -26,6 +26,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "attribs.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "toplev.h"
diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c
index c464719..e262946 100644
--- a/gcc/cp/cp-gimplify.c
+++ b/gcc/cp/cp-gimplify.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "cp-tree.h"
 #include "c-family/c-common.h"
 #include "tree-iterator.h"
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c
index 7dac108..5264c5d 100644
--- a/gcc/cp/cvt.c
+++ b/gcc/cp/cvt.c
@@ -29,6 +29,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "cp-tree.h"
 #include "intl.h"
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 7d9d5df..5c80e0c 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -31,6 +31,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "attribs.h"
+#include "builtins.h"
+#include "calls.h"
 #include "flags.h"
 #include "cp-tree.h"
 #include "tree-iterator.h"
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 1845684..c62f75b 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -31,6 +31,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
+#include "attribs.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "flags.h"
 #include "cp-tree.h"
 #include "decl.h"
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 5f997c3..fd8aab8 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "diagnostic.h"
diff --git a/gcc/cp/except.c b/gcc/cp/except.c
index ac2128d..d7d009b 100644
--- a/gcc/cp/except.c
+++ b/gcc/cp/except.c
@@ -26,6 +26,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "trans-mem.h"
+#include "attribs.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "tree-inline.h"
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index fde2314..2543a06 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -25,6 +25,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "target.h"
diff --git a/gcc/cp/lambda.c b/gcc/cp/lambda.c
index f39ce1a..24aa2c5 100644
--- a/gcc/cp/lambda.c
+++ b/gcc/cp/lambda.c
@@ -25,6 +25,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "cgraph.h"
 #include "tree-iterator.h"
 #include "cp-tree.h"
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index d6ed809..5d8a313 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -27,6 +27,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "input.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "cp-tree.h"
 #include "cpplib.h"
 #include "flags.h"
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 202fafc..8a24d6c 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -49,6 +49,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
 #include "tm_p.h"
 #include "cp-tree.h"
 #include "obstack.h"
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 272ef42..aa1e3c8 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -26,6 +26,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "toplev.h"
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c
index ced596e..d0c024a 100644
--- a/gcc/cp/name-lookup.c
+++ b/gcc/cp/name-lookup.c
@@ -24,6 +24,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "flags.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "print-tree.h"
+#include "attribs.h"
 #include "cp-tree.h"
 #include "name-lookup.h"
 #include "timevar.h"
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index c4ee848..b8df134 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "cp-tree.h"
 #include "input.h"
 #include "params.h"
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index eaad8e4..0aa9138 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -25,6 +25,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "timevar.h"
 #include "cpplib.h"
 #include "tree.h"
+#include "print-tree.h"
+#include "stringpool.h"
+#include "attribs.h"
+#include "trans-mem.h"
 #include "cp-tree.h"
 #include "intl.h"
 #include "c-family/c-pragma.h"
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index b80591d..5b76c95 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -29,6 +29,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
+#include "attribs.h"
+#include "stor-layout.h"
 #include "intl.h"
 #include "pointer-set.h"
 #include "flags.h"
diff --git a/gcc/cp/ptree.c b/gcc/cp/ptree.c
index f4ca003..3c37a2a 100644
--- a/gcc/cp/ptree.c
+++ b/gcc/cp/ptree.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "print-tree.h"
 #include "cp-tree.h"
 
 void
diff --git a/gcc/cp/repo.c b/gcc/cp/repo.c
index 7b6f7b8..47b9198 100644
--- a/gcc/cp/repo.c
+++ b/gcc/cp/repo.c
@@ -29,6 +29,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "cp-tree.h"
 #include "input.h"
 #include "obstack.h"
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 5827540..0bac879 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -24,6 +24,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "convert.h"
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 81394fa..e420426 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -28,6 +28,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stmt.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "builtins.h"
 #include "cp-tree.h"
 #include "c-family/c-common.h"
 #include "c-family/c-objc.h"
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index d7af1d3..a990a79 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -23,6 +23,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "print-tree.h"
+#include "tree-iterator.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "tree-inline.h"
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index bff7f17..734161f 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -29,6 +29,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
 #include "cp-tree.h"
 #include "flags.h"
 #include "diagnostic.h"
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index 9da8e3d..b4ab432 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -30,6 +30,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
 #include "intl.h"
 #include "cp-tree.h"
 #include "flags.h"
diff --git a/gcc/cp/vtable-class-hierarchy.c b/gcc/cp/vtable-class-hierarchy.c
index 5e78ec9..b9f47b6 100644
--- a/gcc/cp/vtable-class-hierarchy.c
+++ b/gcc/cp/vtable-class-hierarchy.c
@@ -120,6 +120,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "vtable-verify.h"
 #include "gimple.h"
 #include "gimplify.h"
+#include "stringpool.h"
+#include "builtins.h"
+#include "stor-layout.h"
 
 static int num_calls_to_regset = 0;
 static int num_calls_to_regpair = 0;
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 84f765e..3e024f8 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -72,6 +72,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
 #include "rtl.h"
 #include "flags.h"
 #include "regs.h"
diff --git a/gcc/dojump.c b/gcc/dojump.c
index ee12d76..2aef34d 100644
--- a/gcc/dojump.c
+++ b/gcc/dojump.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "function.h"
 #include "insn-config.h"
diff --git a/gcc/dse.c b/gcc/dse.c
index b602caa..9662da8 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -29,6 +29,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c
index 69907f9..fc1b082 100644
--- a/gcc/dwarf2asm.c
+++ b/gcc/dwarf2asm.c
@@ -24,6 +24,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "flags.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "rtl.h"
 #include "output.h"
 #include "target.h"
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
index e0f85ed..19276e2 100644
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -25,6 +25,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "function.h"
 #include "basic-block.h"
 #include "dwarf2.h"
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 3822a65..4b6c313 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -59,10 +59,15 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
+#include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "function.h"
+#include "emit-rtl.h"
 #include "version.h"
 #include "flags.h"
-#include "rtl.h"
 #include "hard-reg-set.h"
 #include "regs.h"
 #include "insn-config.h"
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index b0fc846..9db34f4 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -38,9 +38,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tree.h"
+#include "varasm.h"
+#include "builtins.h"
 #include "tm_p.h"
 #include "flags.h"
 #include "function.h"
+#include "stringpool.h"
 #include "expr.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/except.c b/gcc/except.c
index a52d317..c847483 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -115,6 +115,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "function.h"
 #include "expr.h"
diff --git a/gcc/explow.c b/gcc/explow.c
index bf5742d..c304746 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -25,6 +25,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "flags.h"
 #include "except.h"
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 1617bc0..c5123cb 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -26,6 +26,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "flags.h"
 #include "insn-config.h"
diff --git a/gcc/expr.c b/gcc/expr.c
index 28b4332..295e1ea 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -24,6 +24,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "attribs.h"
+#include "varasm.h"
 #include "flags.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/final.c b/gcc/final.c
index 1a6320f..2d206f1 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -48,6 +48,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 
 #include "tree.h"
+#include "varasm.h"
 #include "rtl.h"
 #include "tm_p.h"
 #include "regs.h"
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 5ca7691..89f1744 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -46,6 +46,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "flags.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "calls.h"
+#include "tree-iterator.h"
 #include "realmpfr.h"
 #include "rtl.h"
 #include "expr.h"
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 9c9fd4f..0a0f8e0 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -27,6 +27,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "constructor.h"
 #include "tree.h"
+#include "stringpool.h"
 
 /* Macros to access allocate memory for gfc_data_variable,
    gfc_data_value and gfc_data.  */
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c
index af452b3..f31340f 100644
--- a/gcc/fortran/iresolve.c
+++ b/gcc/fortran/iresolve.c
@@ -30,6 +30,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "gfortran.h"
 #include "intrinsic.h"
 #include "constructor.h"
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 71e3862..539780a 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -26,6 +26,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "match.h"
 #include "parse.h"
 #include "tree.h"
+#include "stringpool.h"
 
 int gfc_matching_ptr_assignment = 0;
 int gfc_matching_procptr_assignment = 0;
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index c390a95..0cd4801 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -74,6 +74,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "constructor.h"
 #include "cpp.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "scanner.h"
 #include <zlib.h>
 
diff --git a/gcc/fortran/target-memory.c b/gcc/fortran/target-memory.c
index e905b3a..d0ee41a 100644
--- a/gcc/fortran/target-memory.c
+++ b/gcc/fortran/target-memory.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "machmode.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "gfortran.h"
 #include "arith.h"
 #include "constructor.h"
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index c2bbd0e..6c60da3 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -78,8 +78,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
 #include "gimple-expr.h"
+#include "builtins.h"
 #include "diagnostic-core.h"	/* For internal_error/fatal_error.  */
 #include "flags.h"
 #include "gfortran.h"
diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c
index e2234b1..2266c1b 100644
--- a/gcc/fortran/trans-common.c
+++ b/gcc/fortran/trans-common.c
@@ -98,6 +98,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
 #include "gfortran.h"
 #include "trans.h"
 #include "trans-types.h"
diff --git a/gcc/fortran/trans-const.c b/gcc/fortran/trans-const.c
index a217c47..f5a2b18 100644
--- a/gcc/fortran/trans-const.c
+++ b/gcc/fortran/trans-const.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "realmpfr.h"
 #include "diagnostic-core.h"	/* For fatal_error.  */
 #include "double-int.h"
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 1df3bb4..fc5746f 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -25,6 +25,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "attribs.h"
+#include "builtins.h"
 #include "tree-dump.h"
 #include "gimple-expr.h"	/* For create_tmp_var_raw.  */
 #include "ggc.h"
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index b932fa4..9674ec1 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -24,7 +24,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "builtins.h"
 #include "diagnostic-core.h"	/* For fatal_error.  */
 #include "langhooks.h"
 #include "flags.h"
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c
index 7e2bb36..20a48fc 100644
--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -26,6 +26,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"		/* For UNITS_PER_WORD.  */
 #include "tree.h"
+#include "builtins.h"
+#include "stringpool.h"
+#include "tree-nested.h"
+#include "stor-layout.h"
 #include "ggc.h"
 #include "diagnostic-core.h"	/* For internal_error.  */
 #include "toplev.h"	/* For rest_of_decl_compilation.  */
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index 5fa1cdc..44bcf8d 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -22,7 +22,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "builtins.h"
+#include "stor-layout.h"
 #include "ggc.h"
 #include "diagnostic-core.h"	/* For internal_error.  */
 #include "gfortran.h"
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c
index 13c8705..1691c0b 100644
--- a/gcc/fortran/trans-openmp.c
+++ b/gcc/fortran/trans-openmp.c
@@ -22,9 +22,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
 #include "gimple.h"
 #include "gimplify.h"	/* For create_tmp_var_raw.  */
+#include "builtins.h"
+#include "stringpool.h"
 #include "diagnostic-core.h"	/* For internal_error.  */
 #include "gfortran.h"
 #include "trans.h"
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c
index 62e690d..24f7f06 100644
--- a/gcc/fortran/trans-stmt.c
+++ b/gcc/fortran/trans-stmt.c
@@ -23,7 +23,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "builtins.h"
+#include "stringpool.h"
 #include "gfortran.h"
 #include "flags.h"
 #include "trans.h"
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index fa84d5d..21d9f28 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -34,6 +34,8 @@  along with GCC; see the file COPYING3.  If not see
 			   FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
 			   LONG_DOUBLE_TYPE_SIZE and LIBGCC2_HAS_TF_MODE.  */
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
 #include "langhooks.h"	/* For iso-c-bindings.def.  */
 #include "target.h"
 #include "ggc.h"
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index ef20a20..11daf66 100644
--- a/gcc/fortran/trans.c
+++ b/gcc/fortran/trans.c
@@ -21,8 +21,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
 #include "gimple-expr.h"	/* For create_tmp_var_raw.  */
+#include "builtins.h"
+#include "stringpool.h"
 #include "tree-iterator.h"
 #include "diagnostic-core.h"  /* For internal_error.  */
 #include "flags.h"
diff --git a/gcc/function.c b/gcc/function.c
index eddffdb..53655f1 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -37,6 +37,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl-error.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "stringpool.h"
+#include "builtins.h"
 #include "flags.h"
 #include "except.h"
 #include "function.h"
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index f79380d..c0125d1 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -5101,6 +5101,9 @@  write_header (FILE *outf)
   fprintf (outf, "#include \"coretypes.h\"\n");
   fprintf (outf, "#include \"tm.h\"\n");
   fprintf (outf, "#include \"tree.h\"\n");
+  fprintf (outf, "#include \"varasm.h\"\n");
+  fprintf (outf, "#include \"stor-layout.h\"\n");
+  fprintf (outf, "#include \"calls.h\"\n");
   fprintf (outf, "#include \"rtl.h\"\n");
   fprintf (outf, "#include \"insn-attr.h\"\n");
   fprintf (outf, "#include \"tm_p.h\"\n");
diff --git a/gcc/genautomata.c b/gcc/genautomata.c
index f6c4b91c4..3ab4804 100644
--- a/gcc/genautomata.c
+++ b/gcc/genautomata.c
@@ -9666,6 +9666,9 @@  main (int argc, char **argv)
 		"#include \"coretypes.h\"\n"
 		"#include \"tm.h\"\n"
 		"#include \"tree.h\"\n"
+		"#include \"varasm.h\"\n"
+		"#include \"stor-layout.h\"\n"
+		"#include \"calls.h\"\n"
 		"#include \"rtl.h\"\n"
 		"#include \"tm_p.h\"\n"
 		"#include \"insn-config.h\"\n"
diff --git a/gcc/genemit.c b/gcc/genemit.c
index 724a114..03831bf 100644
--- a/gcc/genemit.c
+++ b/gcc/genemit.c
@@ -791,6 +791,9 @@  from the machine description file `md'.  */\n\n");
   printf ("#include \"coretypes.h\"\n");
   printf ("#include \"tm.h\"\n");
   printf ("#include \"tree.h\"\n");
+  printf ("#include \"varasm.h\"\n");
+  printf ("#include \"stor-layout.h\"\n");
+  printf ("#include \"calls.h\"\n");
   printf ("#include \"rtl.h\"\n");
   printf ("#include \"tm_p.h\"\n");
   printf ("#include \"function.h\"\n");
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index ecf1ef0..86e9ca2 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -1770,7 +1770,7 @@  open_base_files (void)
       "hard-reg-set.h", "basic-block.h", "cselib.h", "insn-addr.h",
       "optabs.h", "libfuncs.h", "debug.h", "ggc.h", "cgraph.h",
       "gimple.h", "gimple-iterator.h", "gimple-ssa.h", "tree-cfg.h",
-      "tree-phinodes.h", "ssa-iterators.h", "tree-ssanames.h",
+      "tree-phinodes.h", "ssa-iterators.h", "stringpool.h", "tree-ssanames.h",
       "tree-ssa-loop.h", "tree-ssa-loop-ivopts.h", "tree-ssa-loop-manip.h",
       "tree-ssa-loop-niter.h", "tree-into-ssa.h", "tree-dfa.h", 
       "tree-ssa.h", "reload.h", "cpp-id-data.h", "tree-chrec.h",
diff --git a/gcc/genopinit.c b/gcc/genopinit.c
index 3efb71e..2e736ce 100644
--- a/gcc/genopinit.c
+++ b/gcc/genopinit.c
@@ -405,6 +405,9 @@  main (int argc, char **argv)
 	   "#include \"coretypes.h\"\n"
 	   "#include \"tm.h\"\n"
 	   "#include \"tree.h\"\n"
+	   "#include \"varasm.h\"\n"
+	   "#include \"stor-layout.h\"\n"
+	   "#include \"calls.h\"\n"
 	   "#include \"rtl.h\"\n"
 	   "#include \"tm_p.h\"\n"
 	   "#include \"flags.h\"\n"
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index 2a7ee23..de8979b 100644
--- a/gcc/genoutput.c
+++ b/gcc/genoutput.c
@@ -239,6 +239,9 @@  output_prologue (void)
   printf ("#include \"flags.h\"\n");
   printf ("#include \"ggc.h\"\n");
   printf ("#include \"tree.h\"\n");
+  printf ("#include \"varasm.h\"\n");
+  printf ("#include \"stor-layout.h\"\n");
+  printf ("#include \"calls.h\"\n");
   printf ("#include \"rtl.h\"\n");
   printf ("#include \"expr.h\"\n");
   printf ("#include \"insn-codes.h\"\n");
diff --git a/gcc/genpeep.c b/gcc/genpeep.c
index 877fde3..8d9d25d 100644
--- a/gcc/genpeep.c
+++ b/gcc/genpeep.c
@@ -360,6 +360,9 @@  from the machine description file `md'.  */\n\n");
   printf ("#include \"tm.h\"\n");
   printf ("#include \"insn-config.h\"\n");
   printf ("#include \"tree.h\"\n");
+  printf ("#include \"varasm.h\"\n");
+  printf ("#include \"stor-layout.h\"\n");
+  printf ("#include \"calls.h\"\n");
   printf ("#include \"rtl.h\"\n");
   printf ("#include \"tm_p.h\"\n");
   printf ("#include \"regs.h\"\n");
diff --git a/gcc/genpreds.c b/gcc/genpreds.c
index f3d9dac..c27ae88 100644
--- a/gcc/genpreds.c
+++ b/gcc/genpreds.c
@@ -1302,6 +1302,9 @@  write_insn_preds_c (void)
 #include \"tm.h\"\n\
 #include \"rtl.h\"\n\
 #include \"tree.h\"\n\
+#include \"varasm.h\"\n\
+#include \"stor-layout.h\"\n\
+#include \"calls.h\"\n\
 #include \"tm_p.h\"\n\
 #include \"function.h\"\n\
 #include \"insn-config.h\"\n\
diff --git a/gcc/gimple-expr.c b/gcc/gimple-expr.c
index 9156f95..77660a3 100644
--- a/gcc/gimple-expr.c
+++ b/gcc/gimple-expr.c
@@ -25,7 +25,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "tree.h"
 #include "gimple.h"
+#include "stringpool.h"
 #include "gimplify.h"
+#include "stor-layout.h"
 #include "demangle.h"
 #include "gimple-ssa.h"
 
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 62c5550..bca19a7 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -23,6 +23,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "builtins.h"
+#include "expr.h"
+#include "stmt.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "function.h"
 #include "dumpfile.h"
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
index 519e984..362ed1b 100644
--- a/gcc/gimple-low.c
+++ b/gcc/gimple-low.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "tree-nested.h"
+#include "calls.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "tree-iterator.h"
diff --git a/gcc/gimple-pretty-print.c b/gcc/gimple-pretty-print.c
index 86c2a55..9276072 100644
--- a/gcc/gimple-pretty-print.c
+++ b/gcc/gimple-pretty-print.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "diagnostic.h"
 #include "gimple-pretty-print.h"
 #include "hashtab.h"
diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c
index 6de20e3..293f315 100644
--- a/gcc/gimple-ssa-strength-reduction.c
+++ b/gcc/gimple-ssa-strength-reduction.c
@@ -40,6 +40,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
+#include "stor-layout.h"
+#include "expr.h"
+#include "builtins.h"
 #include "basic-block.h"
 #include "tree-pass.h"
 #include "cfgloop.h"
diff --git a/gcc/gimple-walk.c b/gcc/gimple-walk.c
index deb4673..22f4584 100644
--- a/gcc/gimple-walk.c
+++ b/gcc/gimple-walk.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stmt.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "gimple-walk.h"
diff --git a/gcc/gimple.c b/gcc/gimple.c
index ff798ff..cdea0ea 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -25,6 +25,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "target.h"
 #include "tree.h"
+#include "calls.h"
+#include "stmt.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "ggc.h"
 #include "hard-reg-set.h"
 #include "basic-block.h"
diff --git a/gcc/gimplify-me.c b/gcc/gimplify-me.c
index c4818fa..9421e10 100644
--- a/gcc/gimplify-me.c
+++ b/gcc/gimplify-me.c
@@ -25,6 +25,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stmt.h"
+#include "stor-layout.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "gimplify.h"
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 4e6f448..0a02f9f 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -24,9 +24,17 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "expr.h"
 #include "gimple.h"
 #include "gimplify.h"
 #include "gimple-iterator.h"
+#include "stringpool.h"
+#include "builtins.h"
+#include "calls.h"
+#include "varasm.h"
+#include "stor-layout.h"
+#include "stmt.h"
+#include "print-tree.h"
 #include "tree-iterator.h"
 #include "tree-inline.h"
 #include "tree-pretty-print.h"
diff --git a/gcc/go/go-backend.c b/gcc/go/go-backend.c
index c3ffa3b1..31d0122 100644
--- a/gcc/go/go-backend.c
+++ b/gcc/go/go-backend.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "simple-object.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "intl.h"
 #include "output.h"	/* for assemble_string */
diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c
index aa1d80b..93a0446 100644
--- a/gcc/go/go-lang.c
+++ b/gcc/go/go-lang.c
@@ -25,6 +25,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "gimple.h"
 #include "gimplify.h"
+#include "stor-layout.h"
 #include "ggc.h"
 #include "toplev.h"
 #include "debug.h"
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index a22f222..02c1854 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "internal-fn.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "expr.h"
 #include "optabs.h"
 #include "gimple.h"
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 80c6b73..566785c 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -110,6 +110,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "print-tree.h"
+#include "calls.h"
 #include "cgraph.h"
 #include "tree-pass.h"
 #include "ggc.h"
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index 2231c77..92621ed 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -69,6 +69,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "print-tree.h"
 #include "tree-inline.h"
 #include "langhooks.h"
 #include "flags.h"
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 85f8e5d..73817d5 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -94,6 +94,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "trans-mem.h"
+#include "builtins.h"
+#include "calls.h"
 #include "tree-inline.h"
 #include "langhooks.h"
 #include "flags.h"
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index eb464e4..d8bb472 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -22,6 +22,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tree.h"
 #include "gimple.h"
+#include "expr.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "print-tree.h"
 #include "gimplify.h"
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index 9963b39..6af2a1b 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -36,6 +36,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "print-tree.h"
+#include "calls.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "gimple-walk.h"
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c
index ae8ba3c..a9603eb 100644
--- a/gcc/ipa-reference.c
+++ b/gcc/ipa-reference.c
@@ -41,6 +41,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "calls.h"
 #include "gimple.h"
 #include "tree-inline.h"
 #include "tree-pass.h"
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index e55b3f5..c1fe744 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -79,6 +79,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tree.h"
 #include "gimple.h"
+#include "stringpool.h"
+#include "expr.h"
+#include "calls.h"
 #include "gimplify.h"
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
diff --git a/gcc/ipa.c b/gcc/ipa.c
index f439862..9f59b4c 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -22,6 +22,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "calls.h"
+#include "stringpool.h"
+#include "builtins.h"
 #include "cgraph.h"
 #include "tree-pass.h"
 #include "gimple.h"
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index c055437..56474c4 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -31,6 +31,9 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "builtins.h"
+#include "stor-layout.h"
+#include "stringpool.h"
 #include "ggc.h"
 #include "flags.h"
 #include "langhooks.h"
diff --git a/gcc/java/class.c b/gcc/java/class.c
index cb67896..cb3c897 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -26,7 +26,12 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "varasm.h"
 #include "flags.h"
 #include "java-tree.h"
 #include "jcf.h"
diff --git a/gcc/java/constants.c b/gcc/java/constants.c
index ca411b5..64f6e69 100644
--- a/gcc/java/constants.c
+++ b/gcc/java/constants.c
@@ -26,6 +26,8 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "tm.h"
 #include "jcf.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 #include "java-tree.h"
 #include "diagnostic-core.h"
 #include "toplev.h"
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 0a2cecc..70e21b0 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -28,6 +28,9 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "diagnostic-core.h"
 #include "toplev.h"
 #include "flags.h"
diff --git a/gcc/java/except.c b/gcc/java/except.c
index b6d0c8d..646391d 100644
--- a/gcc/java/except.c
+++ b/gcc/java/except.c
@@ -26,6 +26,9 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "java-tree.h"
 #include "javaop.h"
 #include "java-opcodes.h"
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index a434913..4828506 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -33,6 +33,9 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 				   PARM_BOUNDARY.  */
 				   
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "flags.h"
 #include "java-tree.h"
 #include "javaop.h"
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index fbd4e00..9799523 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -27,6 +27,7 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "obstack.h"
 #include "flags.h"
 #include "java-except.h"
diff --git a/gcc/java/mangle.c b/gcc/java/mangle.c
index 10557e9..c4e0883 100644
--- a/gcc/java/mangle.c
+++ b/gcc/java/mangle.c
@@ -29,6 +29,7 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "coretypes.h"
 #include "jcf.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "java-tree.h"
 #include "obstack.h"
 #include "diagnostic-core.h"
diff --git a/gcc/java/resource.c b/gcc/java/resource.c
index 54403d9..e419b2e 100644
--- a/gcc/java/resource.c
+++ b/gcc/java/resource.c
@@ -24,7 +24,11 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "java-tree.h"
 #include "jcf.h"
 #include "diagnostic-core.h"
diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c
index 9dbb3f0..3a0aa39 100644
--- a/gcc/java/typeck.c
+++ b/gcc/java/typeck.c
@@ -27,6 +27,8 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
 #include "obstack.h"
 #include "flags.h"
 #include "java-tree.h"
diff --git a/gcc/java/verify-glue.c b/gcc/java/verify-glue.c
index 21acc42..022f4c4 100644
--- a/gcc/java/verify-glue.c
+++ b/gcc/java/verify-glue.c
@@ -28,6 +28,7 @@  The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "parse.h"
 
 #include "verify.h"
diff --git a/gcc/langhooks.c b/gcc/langhooks.c
index ec0dd4d..4b72f2a 100644
--- a/gcc/langhooks.c
+++ b/gcc/langhooks.c
@@ -25,6 +25,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "toplev.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
 #include "tree-inline.h"
 #include "gimple.h"
 #include "gimplify.h"
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 99dbf96..d827599 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -25,6 +25,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "gimple.h"
 #include "expr.h"
 #include "flags.h"
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 449632a..cc80989 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -26,6 +26,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "toplev.h"
 #include "tree.h"
+#include "stringpool.h"
 #include "expr.h"
 #include "flags.h"
 #include "params.h"
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 9a00230..1d8bfe7 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -25,6 +25,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "builtins.h"
 #include "expr.h"
 #include "flags.h"
 #include "params.h"
diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
index b56c22b..cb15ce3 100644
--- a/gcc/lto/lto-lang.c
+++ b/gcc/lto/lto-lang.c
@@ -24,6 +24,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 #include "target.h"
 #include "langhooks.h"
 #include "langhooks-def.h"
diff --git a/gcc/lto/lto-partition.c b/gcc/lto/lto-partition.c
index 6a3d881..d0194d8 100644
--- a/gcc/lto/lto-partition.c
+++ b/gcc/lto/lto-partition.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "toplev.h"
 #include "tree.h"
+#include "gcc-symtab.h"
 #include "gimple.h"
 #include "tm.h"
 #include "cgraph.h"
diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c
index 2ebc07d..d55a95e 100644
--- a/gcc/lto/lto-symtab.c
+++ b/gcc/lto/lto-symtab.c
@@ -21,8 +21,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "diagnostic-core.h"
 #include "tree.h"
+#include "builtins.h"
 #include "gimple.h"
 #include "ggc.h"
 #include "hashtab.h"
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 62856d0..d46689a 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "opts.h"
 #include "toplev.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "diagnostic-core.h"
 #include "tm.h"
 #include "cgraph.h"
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 9a640a3..d7e8afb 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -23,6 +23,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "attribs.h"
 
 #ifdef OBJCPLUS
 #include "cp/cp-tree.h"
diff --git a/gcc/objc/objc-encoding.c b/gcc/objc/objc-encoding.c
index c2f7444..997805d 100644
--- a/gcc/objc/objc-encoding.c
+++ b/gcc/objc/objc-encoding.c
@@ -21,6 +21,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 
 #ifdef OBJCPLUS
 #include "cp/cp-tree.h"
diff --git a/gcc/objc/objc-gnu-runtime-abi-01.c b/gcc/objc/objc-gnu-runtime-abi-01.c
index f011683..a2bb133 100644
--- a/gcc/objc/objc-gnu-runtime-abi-01.c
+++ b/gcc/objc/objc-gnu-runtime-abi-01.c
@@ -21,7 +21,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "builtins.h"
 
 #ifdef OBJCPLUS
 #include "cp/cp-tree.h"
diff --git a/gcc/objc/objc-next-runtime-abi-01.c b/gcc/objc/objc-next-runtime-abi-01.c
index 000256d..85cccb8 100644
--- a/gcc/objc/objc-next-runtime-abi-01.c
+++ b/gcc/objc/objc-next-runtime-abi-01.c
@@ -26,7 +26,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "builtins.h"
 
 #ifdef OBJCPLUS
 #include "cp/cp-tree.h"
diff --git a/gcc/objc/objc-next-runtime-abi-02.c b/gcc/objc/objc-next-runtime-abi-02.c
index 0960006..4d9eb75 100644
--- a/gcc/objc/objc-next-runtime-abi-02.c
+++ b/gcc/objc/objc-next-runtime-abi-02.c
@@ -30,6 +30,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "builtins.h"
 
 #ifdef OBJCPLUS
 #include "cp/cp-tree.h"
diff --git a/gcc/objc/objc-runtime-shared-support.c b/gcc/objc/objc-runtime-shared-support.c
index 45efb78..9278b39 100644
--- a/gcc/objc/objc-runtime-shared-support.c
+++ b/gcc/objc/objc-runtime-shared-support.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
 
 #ifdef OBJCPLUS
 #include "cp/cp-tree.h"
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index 5be9ff8..5430d1b 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -26,6 +26,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "rtl.h"
 #include "gimple.h"
 #include "gimplify.h"
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 164e4dd..49d9528 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -29,6 +29,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "insn-config.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "varasm.h"
 #include "tm_p.h"
 #include "flags.h"
 #include "function.h"
diff --git a/gcc/passes.c b/gcc/passes.c
index f45ed0a..31ce988 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -30,6 +30,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "hash-table.h"
 #include "input.h"
 #include "tree.h"
+#include "varasm.h"
 #include "rtl.h"
 #include "tm_p.h"
 #include "flags.h"
diff --git a/gcc/predict.c b/gcc/predict.c
index 61cac52..c99ba7e 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -32,6 +32,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "calls.h"
 #include "rtl.h"
 #include "tm_p.h"
 #include "hard-reg-set.h"
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 7d712c1..833bee9 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -34,6 +34,7 @@  along with GCC; see the file COPYING3.  If not see
    generator programs.  */
 #ifndef GENERATOR_FILE
 #include "tree.h"
+#include "print-tree.h"
 #include "flags.h"
 #include "hard-reg-set.h"
 #include "basic-block.h"
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index 5916c52..1f4bf22 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -23,6 +23,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
+#include "print-rtl.h"
+#include "stor-layout.h"
 #include "ggc.h"
 #include "langhooks.h"
 #include "tree-iterator.h"
diff --git a/gcc/realmpfr.c b/gcc/realmpfr.c
index 34f7712..b5c1120 100644
--- a/gcc/realmpfr.c
+++ b/gcc/realmpfr.c
@@ -22,6 +22,7 @@ 
 #include "coretypes.h"
 #include "realmpfr.h"
 #include "tree.h"	/* For TYPE_MODE in real_from_mpfr.  */
+#include "stor-layout.h"
 
 /* Convert from REAL_VALUE_TYPE to MPFR.  The caller is responsible
    for initializing and clearing the MPFR parameter.  */
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 1917c46..4e1b8cd 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -154,6 +154,7 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
 #include "rtl-error.h"
 #include "tm_p.h"
 #include "function.h"
diff --git a/gcc/sdbout.c b/gcc/sdbout.c
index 1eedde3..25522e2 100644
--- a/gcc/sdbout.c
+++ b/gcc/sdbout.c
@@ -45,6 +45,8 @@  AT&T C compiler.  From the example below I would conclude the following:
 #include "tm.h"
 #include "debug.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
 #include "ggc.h"
 #include "vec.h"
 
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index 432842e..5876f7d 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "varasm.h"
 #include "tm_p.h"
 #include "regs.h"
 #include "hard-reg-set.h"
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 947dca9..02d2986 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -30,6 +30,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "rtl.h"
 #include "hard-reg-set.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "flags.h"
 #include "except.h"
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index 264c33e..c4e4cd1 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -23,6 +23,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "builtins.h"
+#include "varasm.h"
+#include "print-tree.h"
 #include "rtl.h"
 #include "tm_p.h"
 #include "flags.h"
diff --git a/gcc/symtab.c b/gcc/symtab.c
index 9310dfd..52ad1f9 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -22,7 +22,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
+#include "rtl.h"
 #include "tree.h"
+#include "print-tree.h"
+#include "varasm.h"
+#include "function.h"
+#include "emit-rtl.h"
 #include "gimple.h"
 #include "tree-inline.h"
 #include "langhooks.h"
@@ -32,7 +37,6 @@  along with GCC; see the file COPYING3.  If not see
 #include "diagnostic.h"
 #include "timevar.h"
 #include "lto-streamer.h"
-#include "rtl.h"
 #include "output.h"
 
 const char * const ld_plugin_symbol_resolution_names[]=
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 55ab7d0..7f3d0c5 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -53,6 +53,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "builtins.h"
 #include "expr.h"
 #include "output.h"
 #include "diagnostic-core.h"
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 66477b6..5fedcea 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -29,6 +29,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "line-map.h"
 #include "input.h"
 #include "tree.h"
+#include "varasm.h"
+#include "tree-inline.h"
 #include "realmpfr.h"	/* For GMP/MPFR/MPC versions, in print_version.  */
 #include "version.h"
 #include "rtl.h"
diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index b56ff73..da39a75 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -20,9 +20,15 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "hash-table.h"
 #include "tree.h"
 #include "gimple.h"
+#include "calls.h"
+#include "builtins.h"
+#include "function.h"
+#include "rtl.h"
+#include "emit-rtl.h"
 #include "gimplify.h"
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
diff --git a/gcc/tree-affine.c b/gcc/tree-affine.c
index d6d5686..dd5a150ac 100644
--- a/gcc/tree-affine.c
+++ b/gcc/tree-affine.c
@@ -21,6 +21,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "expr.h"
 #include "tree-pretty-print.h"
 #include "pointer-set.h"
 #include "tree-affine.h"
diff --git a/gcc/tree-browser.c b/gcc/tree-browser.c
index dad06a5..c3483a7 100644
--- a/gcc/tree-browser.c
+++ b/gcc/tree-browser.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "hash-table.h"
 #include "tree.h"
 #include "tree-pretty-print.h"
+#include "print-tree.h"
 
 #define TB_OUT_FILE stdout
 #define TB_IN_FILE stdin
diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c
index 8e63646..cf721d6 100644
--- a/gcc/tree-call-cdce.c
+++ b/gcc/tree-call-cdce.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "basic-block.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "gimple-pretty-print.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index d7f6212..3a10f22 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -24,6 +24,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "hash-table.h"
 #include "tm.h"
 #include "tree.h"
+#include "trans-mem.h"
+#include "stor-layout.h"
+#include "print-tree.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "flags.h"
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index 130674e..aae970d 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "gimple.h"
 #include "gimplify.h"
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 2aa5836..122de2d 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -77,6 +77,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "expr.h"
 #include "gimple-pretty-print.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index 91f8c0e..88b375f 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -25,6 +25,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "hashtab.h"
 #include "pointer-set.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "ggc.h"
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 656ba6f..48e191d 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "hash-table.h"
 #include "tm.h"
 #include "tree.h"
+#include "expr.h"
+#include "calls.h"
 #include "flags.h"
 #include "function.h"
 #include "except.h"
diff --git a/gcc/tree-emutls.c b/gcc/tree-emutls.c
index 11337c0..1eb897e 100644
--- a/gcc/tree-emutls.c
+++ b/gcc/tree-emutls.c
@@ -20,7 +20,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "varasm.h"
+#include "builtins.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "gimple-walk.h"
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 81403f2..8b702e2 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -85,6 +85,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index fb9d2c4..1bacfbd 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -24,6 +24,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "diagnostic-core.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "calls.h"
+#include "builtins.h"
 #include "tree-inline.h"
 #include "flags.h"
 #include "params.h"
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index 331af04..b5e4ea2 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -48,6 +48,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
+#include "stor-layout.h"
 #include "gimple-ssa.h"
 #include "tree-cfg.h"
 #include "tree-phinodes.h"
diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c
index 9b4493b..868c8fd 100644
--- a/gcc/tree-nested.c
+++ b/gcc/tree-nested.c
@@ -22,6 +22,8 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "function.h"
 #include "tree-dump.h"
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c
index 965dffa..3669bd4 100644
--- a/gcc/tree-object-size.c
+++ b/gcc/tree-object-size.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "builtins.h"
+#include "tree-object-size.h"
 #include "diagnostic-core.h"
 #include "gimple-pretty-print.h"
 #include "bitmap.h"
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index eb11c88..108e4ca 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "ggc.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index 867992b..5f2f454 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -28,6 +28,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
 #include "gimple-walk.h"
+#include "stor-layout.h"
+#include "tree-nested.h"
 #include "gimple-ssa.h"
 #include "tree-cfg.h"
 #include "tree-phinodes.h"
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 7cd578c..6e70f55 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "expr.h"
 #include "tree-pretty-print.h"
 #include "hashtab.h"
 #include "gimple.h"
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index f3f97b2..a468d3f 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -35,6 +35,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coverage.h"
 #include "tree.h"
 #include "gimple.h"
+#include "varasm.h"
+#include "tree-nested.h"
 #include "gimplify.h"
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 115683d..a2bc1dc 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -257,6 +257,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "expr.h"
 #include "hash-table.h"
 #include "gimple-pretty-print.h"
 #include "gimple.h"
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index d97af13..9ba8d9f 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -79,6 +79,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "tree.h"
 #include "gimple.h"
+#include "builtins.h"
+#include "stor-layout.h"
 #include "gimplify.h"
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c
index cf24567..df77507 100644
--- a/gcc/tree-ssa-address.c
+++ b/gcc/tree-ssa-address.c
@@ -25,6 +25,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "tree-pretty-print.h"
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
index 50006ab..36aeed1 100644
--- a/gcc/tree-ssa-ccp.c
+++ b/gcc/tree-ssa-ccp.c
@@ -114,6 +114,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index d138f92..743adb7 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -48,6 +48,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 
 #include "tree.h"
+#include "calls.h"
 #include "gimple-pretty-print.h"
 #include "basic-block.h"
 #include "gimple.h"
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 0ce24df..8916635 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "hash-table.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index ce9c011..99a780d 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -22,6 +22,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
index d3bb5b2..6c9ab05 100644
--- a/gcc/tree-ssa-ifcombine.c
+++ b/gcc/tree-ssa-ifcombine.c
@@ -27,6 +27,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "rtl.h"
 #include "tm_p.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "basic-block.h"
 #include "tree-pretty-print.h"
 #include "gimple.h"
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
index 9fd649e..01c1783 100644
--- a/gcc/tree-ssa-loop-ivcanon.c
+++ b/gcc/tree-ssa-loop-ivcanon.c
@@ -37,6 +37,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "builtins.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index 6d5eeb5..8144879 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -66,6 +66,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index 5471856..d98bed2 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -22,6 +22,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "calls.h"
+#include "expr.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index 0939541..99bbc4f 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "tree-pretty-print.h"
diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c
index ca3596c..6e1576e 100644
--- a/gcc/tree-ssa-math-opts.c
+++ b/gcc/tree-ssa-math-opts.c
@@ -93,6 +93,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "gimple-ssa.h"
 #include "tree-cfg.h"
 #include "tree-phinodes.h"
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index 4e05d2d..6800268 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -22,6 +22,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stmt.h"
+#include "print-tree.h"
 #include "flags.h"
 #include "function.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 7f4a3fd..1d7ad60 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -24,6 +24,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "ggc.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 4d0e5e4..dade014 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -26,6 +26,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "rtl.h"
 #include "tm_p.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
 #include "tree-inline.h"
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index 1be324e..00fff53 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -23,6 +23,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
 #include "tree-inline.h"
diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c
index caf10bb..f0c831d 100644
--- a/gcc/tree-ssa-sink.c
+++ b/gcc/tree-ssa-sink.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
 #include "tree-inline.h"
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index cfd7b00..798da4a 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "hash-table.h"
 #include "bitmap.h"
 #include "gimple.h"
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index d8dbf05..b462105 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -29,6 +29,8 @@ 
 #include "flags.h"
 #include "basic-block.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stmt.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "gimple-ssa.h"
diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c
index c97da97..8ea2946 100644
--- a/gcc/tree-ssa-tail-merge.c
+++ b/gcc/tree-ssa-tail-merge.c
@@ -190,6 +190,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "trans-mem.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "flags.h"
diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c
index cabfc82..481d783 100644
--- a/gcc/tree-ssa-threadedge.c
+++ b/gcc/tree-ssa-threadedge.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "builtins.h"
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c
index 25f9f45..d27cf64 100644
--- a/gcc/tree-ssa-uncprop.c
+++ b/gcc/tree-ssa-uncprop.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index f16e77b..dfffece 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "flags.h"
 #include "tm_p.h"
 #include "target.h"
diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c
index 7635891..0245fb7 100644
--- a/gcc/tree-ssanames.c
+++ b/gcc/tree-ssanames.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "gimple.h"
 #include "gimple-ssa.h"
 #include "tree-phinodes.h"
diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c
index 92598e3..a526599 100644
--- a/gcc/tree-streamer-in.c
+++ b/gcc/tree-streamer-in.c
@@ -22,8 +22,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "diagnostic.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "builtins.h"
 #include "gimple.h"
 #include "tree-streamer.h"
 #include "data-streamer.h"
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index ea1a054..275c22c 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -25,6 +25,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "diagnostic.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "gimple.h"
 #include "tree-streamer.h"
 #include "data-streamer.h"
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index 9d5734a..6813158 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -30,6 +30,8 @@  Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
 #include "params.h"
 #include "flags.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
 #include "basic-block.h"
 #include "gimple.h"
 #include "gimplify.h"
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 185bf16..5ab91c7 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -22,6 +22,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "basic-block.h"
 #include "function.h"
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 1e5ee3d..63482bb 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -26,6 +26,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "ggc.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
 #include "tm_p.h"
 #include "target.h"
 #include "basic-block.h"
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index 0fcc4ea..55e9ec0 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -21,6 +21,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tm.h"
 #include "langhooks.h"
 #include "gimple.h"
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 491d8c6..4d68f0d 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -26,6 +26,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "ggc.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
 #include "gimple.h"
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 11f7bee..fc0dbd5 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -24,6 +24,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "ggc.h"
 #include "tree.h"
+#include "builtins.h"
+#include "stor-layout.h"
 #include "target.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index 247bdfd..03bcccb 100644
--- a/gcc/tree-vect-slp.c
+++ b/gcc/tree-vect-slp.c
@@ -26,6 +26,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "ggc.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "target.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 54d821a..dc8fc2b 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -26,6 +26,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "ggc.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "target.h"
 #include "basic-block.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 9c2cf5d..5021c5b 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -61,6 +61,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "ggc.h"
 #include "tree.h"
+#include "stor-layout.h"
 #include "tree-pretty-print.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 656e8e1..77a894d 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -25,6 +25,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "ggc.h"
 #include "flags.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "calls.h"
 #include "basic-block.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
diff --git a/gcc/tree.c b/gcc/tree.c
index 97c9c8a..8ef5c68 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -33,6 +33,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "flags.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "builtins.h"
+#include "calls.h"
+#include "attribs.h"
+#include "varasm.h"
 #include "tm_p.h"
 #include "function.h"
 #include "obstack.h"
diff --git a/gcc/tsan.c b/gcc/tsan.c
index 544d535..397d21c 100644
--- a/gcc/tsan.c
+++ b/gcc/tsan.c
@@ -22,9 +22,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "expr.h"
+#include "builtins.h"
 #include "intl.h"
-#include "tm.h"
 #include "basic-block.h"
 #include "gimple.h"
 #include "gimplify.h"
diff --git a/gcc/ubsan.c b/gcc/ubsan.c
index 9dc19c9..4f4ee9c 100644
--- a/gcc/ubsan.c
+++ b/gcc/ubsan.c
@@ -21,7 +21,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "builtins.h"
 #include "cgraph.h"
 #include "gimple.h"
 #include "hashtab.h"
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index 719cf9a..3b576ec 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -22,6 +22,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "tree-nested.h"
+#include "calls.h"
+#include "builtins.h"
 #include "rtl.h"
 #include "expr.h"
 #include "hard-reg-set.h"
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 8b07f9f..7551520 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -91,6 +91,8 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "varasm.h"
+#include "stor-layout.h"
 #include "tm_p.h"
 #include "hard-reg-set.h"
 #include "basic-block.h"
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 2226912..b116d37 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -31,6 +31,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stor-layout.h"
+#include "stringpool.h"
+#include "gcc-symtab.h"
+#include "varasm.h"
 #include "flags.h"
 #include "function.h"
 #include "expr.h"
diff --git a/gcc/varpool.c b/gcc/varpool.c
index 1e4c823..5a97a6f 100644
--- a/gcc/varpool.c
+++ b/gcc/varpool.c
@@ -23,6 +23,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
 #include "cgraph.h"
 #include "langhooks.h"
 #include "diagnostic-core.h"
diff --git a/gcc/vmsdbgout.c b/gcc/vmsdbgout.c
index 9f308a6..7972dd7 100644
--- a/gcc/vmsdbgout.c
+++ b/gcc/vmsdbgout.c
@@ -26,6 +26,7 @@  along with GCC; see the file COPYING3.  If not see
 
 #ifdef VMS_DEBUGGING_INFO
 #include "tree.h"
+#include "varasm.h"
 #include "version.h"
 #include "flags.h"
 #include "rtl.h"
diff --git a/gcc/vtable-verify.c b/gcc/vtable-verify.c
index ecf1dc2..b07b7dc 100644
--- a/gcc/vtable-verify.c
+++ b/gcc/vtable-verify.c
@@ -136,7 +136,9 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "tm.h"
 #include "tree.h"
+#include "builtins.h"
 #include "basic-block.h"
 #include "gimple.h"
 #include "gimple-iterator.h"
diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c
index 8a9093c..c14f014 100644
--- a/gcc/xcoffout.c
+++ b/gcc/xcoffout.c
@@ -27,6 +27,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "tree.h"
+#include "varasm.h"
 #include "rtl.h"
 #include "flags.h"
 #include "diagnostic-core.h"