public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Flatten tree.h and tree-core.h (Version 3)
@ 2015-01-09  9:43 Michael Collison
  2015-01-09 10:52 ` Richard Biener
  2015-01-12 11:23 ` [PATCH] Flatten tree.h and tree-core.h (Version 3) Andreas Schwab
  0 siblings, 2 replies; 14+ messages in thread
From: Michael Collison @ 2015-01-09  9:43 UTC (permalink / raw)
  To: gcc Patches; +Cc: Andrew MacLeod, richard.guenther, law, Prathamesh Kulkarni

[-- Attachment #1: Type: text/plain, Size: 42924 bytes --]

This patch flattens tree.h and tree-core.h. This is a revised patch that 
does not include tree-core.h as a result of flattening.

Version 3 of the patch adds the header files removed from tree-core.h to 
gcc-plugin.h in order to allow ggc-common.c to compile. This is a recent 
issue seen on trunk.

I removed the includes in tree.h and tree-core.h except for the include 
of tree-core.h in tree.h.

I modified genattrtab.c, genautomata.c, genemit.c, gengtype.c, 
gengtype.c, genoptinit.c, genoutput.c,
genpeep.c, genpreds.c, and optc-save-gen-awk to include the the 
necessary include files removed from
tree.h and tree-core.h when generating their respective files.

I removed three inline functions from tree.h and relocated them to 
fold-const.c and exported them in fold-const.h. The functions are:

convert_to_ptrofftype-loc
fold_build_pointer_plus_loc
fold_build_pointer_plus_hwi_loc

All other changes include the necessary include files removed from 
tree.h and tree-core.h. Note the patches modifies all the front-ends.

I bootstrapped on x86 with all languages. I also bootstrapped on all 
targets listed in contrib/config-list.mk with c and c++ enabled.

Is this okay for trunk?

2014-12-24  Michael Collison  <michael.collison@linaro.org>

     * genattrtab.c (write_header): Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     insn-attrtab.c.
     * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h, 
machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     insn-automata.c.
     * genemit.c (main): Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     insn-emit.c.
     * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     gtype-desc.c.
     * genopinit.c (main): Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     insn-opinit.c.
     * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     insn-output.c.
     * genpeep.c (main): Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     insn-peep.c.
     * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     insn-preds.c.
     * optc-save-gen-awk: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h when generating
     options-save.c.
     * opth-gen.awk: Change include guard from GCC_C_COMMON_H to 
GCC_C_COMMON_C
     when generating options.h.

2014-12-24  Michael Collison  <michael.collison@linaro.org>

     * ada/gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h,
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * ada/gcc-interface/decl.c: ditto.
     * ada/gcc-interface/misc.c: ditto.
     * ada/gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * ada/gcc-interface/trans.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
     fold-const.h, wide-int.h, inchash.h due to
     flattening of tree.h.
     * ada/gcc-interface/utils.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h,
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * ada/gcc-interface/utils2.c: ditto.
     * alias.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * asan.c: ditto.
     * attribs.c: ditto.
     * auto-inc-dec.c: ditto.
     * auto-profile.c: ditto
     * bb-reorder.c: ditto.
     * bt-load.c: Include symtab.h due to flattening of tree.h.
     * builtins.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * c/c-array-notation.c: ditto.
     * c/c-aux-info.c: ditto.
     * c/c-convert.c: ditto.
     * c/c-decl.c: ditto.
     * c/c-errors.c: ditto.
     * c/c-lang.c: dittoxs.
     * c/c-objc-common.c: ditto.
     * c/c-parser.c: ditto.
     * c/c-typeck.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, inchash.h, real.h and
     fixed-value.h due to flattening of tree.h.
     * calls.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * ccmp.c: ditto.
     * c-family/array-notation-common.c: ditto.
     * c-family/c-ada-spec.c: ditto.
     * c-family/c-cilkplus.c: ditto.
     * c-family/c-common.c: Include input.h due to flattening of tree.h.
     Define macro GCC_C_COMMON_C.
     * c-family/c-common.h: Flatten tree.h header files into c-common.h.
     Remove include of tree-core.h.
     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * c-family/c-dump.c: ditto.
     * c-family/c-format.c: Flatten tree.h header files into c-common.h.
     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * c-family/c-dump.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * c-family/c-format.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, inchash.h and real.h due to
     flattening of tree.h.
     * c-family/c-gimplify.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * c-family/cilk.c: ditto.
     * c-family/c-lex.c: ditto.
     * c-family/c-omp.c: ditto.
     * c-family/c-opts.c: ditto.
     * c-family/c-pch.c: ditto.
     * c-family/c-ppoutput.c: ditto.
     * c-family/c-pragma.c: ditto.
     * c-family/c-pretty-print.c: ditto.
     * c-family/c-semantics.c: ditto.
     * c-family/c-ubsan.c: ditto.
     * c-family/stub-objc.c: ditto.
     * cfgbuild.c: ditto.
     * cfg.c: ditto.
     * cfgcleanup.c: ditto.
     * cfgexpand.c: ditto.
     * cfghooks.c: ditto.
     * cfgloop.c: Include symtab.h, fold-const.h, and
     inchash.h due to flattening of tree.h.
     * cfgloopmanip.c: ditto.
     * cfgrtl.c:  Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * cgraphbuild.c: ditto.
     * cgraph.c: ditto.
     * cgraphclones.c: ditto.
     * cgraphunit.c: ditto.
     * cilk-common.c: ditto.
     * combine.c: ditto.
     * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
     * config/aarch64/aarch64-builtins.c:  Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * config/aarch64/aarch64.c: ditto.
     * config/alpha/alpha.c: ditto.
     * config/arc/arc.c: ditto.
     * config/arm/aarch-common.c: ditto.
     * config/arm/arm-builtins.c: ditto.
     * config/arm/arm.c: ditto.
     * config/arm/arm-c.c: ditto.
     * config/avr/avr.c: ditto.
     * config/avr/avr-c.c: ditto.
     * config/avr/avr-log.c: ditto.
     * config/bfin/bfin.c: ditto.
     * config/c6x/c6x.c: ditto.
     * config/cr16/cr16.c: ditto.
     * config/cris/cris.c: ditto.
     * config/darwin.c: ditto.
     * config/darwin-c.c: ditto.
     * config/default-c.c: ditto.
     * config/epiphany/epiphany.c: ditto.
     * config/fr30/fr30.c: ditto.
     * config/frv/frv.c: ditto.
     * config/glibc-c.c: ditto.
     * config/h8300/h8300.c: ditto.
     * config/i386/i386.c: ditto.
     * config/i386/i386-c.c: ditto.
     * config/i386/msformat.c: ditto.
     * config/i386/winnt.c: ditto.
     * config/i386/winnt-cxx.c: ditto.
     * config/i386/winnt-stubs.c: ditto.
     * config/ia64/ia64.c: ditto.
     * config/ia64/ia64-c.c: ditto.
     * config/iq2000/iq2000.c: ditto.
     * config/lm32/lm32.c: Include symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * config/m32c/m32c.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * config/m32c/m32c-pragma.c: ditto.
     * config/m32c/m32cr.c: ditto.
     * config/m68/m68k.c: ditto.
     * config/mcore/mcore.c: ditto.
     * config/mep/mep.c: ditto.
     * config/mep/mep-pragma.c: ditto.
     * config/microblaze/microblaze.c: ditto.
     * config/microblaze/microblaze-c.c: ditto.
     * config/mips/mips.c: ditto.
     * config/mmix/mmix.c: Include symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * config/moxie/moxie.c: ditto.
     * config/msp430/msp430.c: ditto.
     * config/msp430/msp430-c.c: ditto.
     * config/nds32/nds32.c: ditto.
     * config/nds32/nds32-cost.c: ditto.
     * config/nds32/nds32-fp-as-gp.c: ditto.
     * config/nds32/nds32-intrinsic.c: ditto.
     * config/nds32/nds32-isr.c: ditto.
     * config/nds32/nds32-md-auxillary.c: ditto.
     * config/nds32/nds32-memory-manipulationx.c: ditto.
     * config/nds32/nds32-pipelines-auxillary.c: ditto.
     * config/nds32/nds32-predicates.c: ditto.
     * config/nios2/nios2.c: ditto.
     * config/nvptx/nvptx.c: ditto.
     * config/pa/pa.c: ditto.
     * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * config/rl78/rl78.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * config/rl78/rl78-cx.c: ditto.
     * config/rs6000/rs6000.c: ditto.
     * config/rs6000/rs6000-c.c: ditto.
     * config/rx/rx.c: ditto.
     * config/s390/s390.c: ditto.
     * config/sh/sh.c: ditto.
     * config/sh/sc.c: ditto.
     * config/sh/sh-mem.cc: ditto.
     * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
     due to flattening of tree.h.
     Remove include of tree-core.h.
     * config/sol2.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * config/sol2-c.c: ditto.
     * config/sol2-cxx.c: ditto.
     * config/sol2-stubs.c: ditto.
     * config/sparc/sparc.c: ditto.
     * config/sparc/sparc-cx.c: ditto.
     * config/spu/spu.c: ditto.
     * config/spu/spu-c.c: ditto
     * config/storym16/stormy16.c: ditto.
     * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
     * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
     fold-const.h, wide-int.h, and inchash.h due to
     flattening of tree.h.
     * config/v850/v850.c: ditto.
     * config/v850/v850-c.c: ditto.
     * config/vax/vax.c: ditto.
     * config/vms/vms.c: ditto.
     * config/vms/vms-c.c: ditto.
     * config/vxworks.c: ditto.
     * config/winnt-c.c: ditto.
     * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * coverage.c: ditto.
     * cp/call.c: ditto.
     * cp/class.c: ditto.
     * cp/constexpr.c: ditto.
     * cp/cp-array-notation.c: ditto.
     * cp/cp-gimplify.c: ditto.
     * cp/cp-lang.c: ditto.
     * cp/cp-objcp-common.c: ditto.
     * cp/cvt.c: ditto.
     * cp/decl2.c: ditto.
     * cp/decl.c: ditto.
     * cp/dump.c: ditto.
     * cp/error.c: ditto.
     * cp/except.c: ditto.
     * cp/expr.c: ditto.
     * cp/friend.c: ditto.
     * cp/init.c: ditto.
     * cp/lambda.c: ditto.
     * cp/lex.c: ditto.
     * cp/mangle.c: ditto.
     * cp/name-lookup.c: ditto.
     * cp/optimize.c: ditto.
     * cp/parser.c: ditto.
     * cp/pt.c: ditto.
     * cp/ptree.c: ditto.
     * cp/repo.c: ditto.
     * cp/rtti.c: ditto.
     * cp/search.c: ditto.
     * cp/semantics.c: ditto.
     * cp/tree.c: ditto.
     * cp/typeck2.c: ditto.
     * cp/typeck.c: ditto.
     * cppbuiltin.c: ditto.
     * cprop.c: ditto.
     * cse.c: Add include of symtab.h due to flattening of tree.h.
     * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * data-streamer.c: ditto.
     * data-streamer-in.c: ditto.
     * data-streamer-out.c: ditto.
     * dbxout.c: ditto.
     * dce.c: ditto.
     * ddg.c: Add include of symtab.h due to flattening of tree.h.
     * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * dfp.c: ditto.
     * df-scan.c: ditto.
     * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, inchash.h and real.h due to flattening of tree.h.
     * double-int.c: ditto.
     * dse.c: ditto.
     * dumpfile.c: ditto.
     * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, inchash.h and real.h due to flattening of tree.h.
     * dwarf2cfi.c: ditto.
     * dwarf2out.c: ditto.
     * emit-rtl.c: ditto.
     * except.c: ditto.
     * explow.c: ditto.
     * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * expr.c: ditto.
     * final.c: ditto.
     * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
     * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     Relocate inline function convert_to_ptrofftype_loc from tree.h.
     Relocate inline function fold_build_pointer_plus_loc from tree.h.
     Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
     * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
     Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
     Relocate macro fold_build_pointer_plus_hwi from tree.h.
     Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
     Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
     Add prototype for fold_build_pointer_plus_hwi_loc relocated from 
tree.h.
     * fortran/convert.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/decl.c: ditto.
     * fortran/f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/iresolve.c: ditto.
     * fortran/match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/module.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/options.c: ditto.
     * fortran/target-memory.c: Include hash-set.h, vec.h,
     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/trans-array.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/trans-common.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/trans-const.c: ditto.
     * fortran/trans-decl.c: ditto.
     * fortran/trans-expr.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, inchash.h and real.h due to flattening of tree.h.
     * fortran/trans-io.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * fortran/trans-openmp.c: ditto.
     * fortran/trans-stmt.c: ditto.
     * fortran/trans-types.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, inchash.h and real.h due to flattening of tree.h.
     * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * gcc-plugin.h: Include statistics.h, double-int.h, real.h, 
fixed-value.h,
     alias.h, flags.h, and symtab.h due to flattening of tree.h
     * gcse.c: ditto.
     * generic-match-head.c:  Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ggc-page.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * gimple-builder.c: ditto.
     * gimple.c: ditto.
     * gimple-expr.c: ditto.
     * gimple-fold.c: ditto.
     * gimple-iterator.c: ditto.
     * gimple-low.c: ditto.
     * gimple-match-head.c: ditto.
     * gimple-pretty-print.c: ditto.
     * generic-ssa-isolate-paths.c:  Include hash-set.h, machmode.h, 
vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * gimple-ssa-strength-reduction.c: ditto.
     * gimple-streamer-in.c: ditto.
     * gimple-streamer-out.c: ditto.
     * gimple-walk.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * gimplify.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * gimplify-me.c: ditto.
     * go/go-gcc.cc: ditto.
     * go/go-lang.c: ditto.
     * go/gdump.c: ditto.
     * graphite-blocking.c: ditto.
     * graphite.c: ditto.
     * graphite-dependencies.c: ditto.
     * graphite-interchange.c: ditto.
     * graphite-isl-ast-to-gimple.c: ditto.
     * graphite-optimize-isl.c: ditto.
     * graphite-poly.c: ditto.
     * graphite-scop-detection.c: ditto.
     * graphite-sese-to-poly.c: ditto.
     * hw-doloop.c: Include symtab.h due to flattening of tree.h.
     * ifcvt.c: ditto.
     * init-regs.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h,options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa.c: ditto.
     * ipa-chkp.c: ditto.
     * ipa-comdats.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h,options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa-devirt.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h,options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa-icf-gimple.c: ditto.
     * ipa-inline-analysis.c:  Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa-inline.c: ditto.
     * ipa-inline-transform.c: ditto.
     * ipa-polymorhpic-call.c: ditto.
     * ipa-profile.c: ditto.
     * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ipa-reference.c: ditto.
     * ipa-split.c: ditto.
     * ipa-utils.c: ditto.
     * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * ira.c: ditto.
     * ira-color.c: Include hash-set.h due to flattening of tree.h.
     * ira-costs.c: ditto.
     * ira-emit.c: ditto.
     * java/boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * java/builtins.c: ditto.
     * java/class.c: ditto.
     * java/constants.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * java/decl.c: ditto.
     * java/except.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * java/expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h,inchash.h and real.h due to flattening of tree.h.
     * java/gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * java/jcf-dump.c: ditto.
     * java/jcf-io.c: ditto.
     * java/jcf-parse.c: ditto.
     * java/jvgenmain.c: ditto.
     * java/lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * java/mangle.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * java/mangle_name.c: ditto.
     * java/resource.c: ditto.
     * java/typeck.c: ditto.
     * java/verify-glue.c: ditto.
     * java/verify-impl.c: ditto.
     * jump.c: Include symtab.h due to flattening of tree.h.
     * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * loop-doloop.c: Include symtab.h due to flattening of tree.h.
     * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * loop-invariant.c: Include symtab.h due to flattening of tree.h.
     * loop-iv.c: ditto.
     * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * lower-subreg.c: ditto.
     * lra-assigns.c: Include symtab.h due to flattening of tree.h.
     * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
     * lra-constraints.c: ditto.
     * lra-eliminations.c: ditto.
     * lra-livesc: ditto.
     * lra-remat.c: ditto.
     * lra-spills.c: ditto.
     * lto/lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * lto/lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * lto/lto-object.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * lto/lto-partition.c: ditto.
     * lto/lto-symtab.c: ditto.
     * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * lto-opts.c: ditto.
     * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * lto-section-out.c: ditto.
     * lto-streamer.c: ditto.
     * lto-streamer-in.c: ditto.
     * lto-streamer-out.c: ditto.
     * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * objc/objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options, fold-const.h,
     wide-int.h, and inchash.h due to flattening of tree.h.
     * objc/objc-encoding.c: ditto.
     * objc/objc-gnu-runtime-abi-01.c: ditto.
     * objc/objc-lang.c: ditto.
     * objc/objc-map.c: ditto.
     * objc/objc-next-runtime-abi-01.c: ditto.
     * objc/objc-next-runtime-abi-02.c: ditto.
     * objc/objc-runtime-shared-support.c: ditto.
     * objcp/objcp-decl.c: ditto.
     * objcp/objcp-lang.c: ditto.
     * omega.c: ditto.
     * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * optabs.c: ditto.
     * opts-global.c: ditto.
     * passes.c: ditto.
     * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * postreload.c: Include symtab.h due to flattening of tree.h.
     * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * predict.c: ditto.
     * print-rtl.c: ditto.
     * print-tree.c: ditto.
     * profile.c: Include symtab.h, fold-const.h
     and inchash.h due to flattening of tree.h.
     * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * ree.c: ditto.
     * reginfo.c: ditto.
     * reg-stack.c: ditto.
     * reload1.c: Include symtab.h, fold-const.h, wide-int.h
     and inchash.h due to flattening of tree.h.
     * reload.c: Include symtab.h due to flattening of tree.h.
     * reorg.c: ditto.
     * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
     and inchash.h due to flattening of tree.h.
     * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * rtlhooks.c: Include symtab.h due to flattening of tree.h.
     * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * sched-vis.c: ditto.
     * sdbout.c: ditto.
     * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
     and inchash.h due to flattening of tree.h.
     * sel-sched-ir.c: ditto.
     * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * stack-ptr-mod.c: ditto.
     * stmt.c: ditto.
     * store-motion.c: ditto.
     * store-layout.c: ditto.
     * stringpool.c: ditto.
     * symtab.c: ditto.
     * target-globals.c: ditto.
     * targhooks.c: ditto.
     * toplev.c: ditto.
     * tracer.c: ditto.
     * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree-affine.c: ditto.
     * tree-browser.c: ditto.
     * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
     fold-const.h, wide-int.h, inchash.h and real.h due to
     flattening of tree.h.
     * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree-cfgcleanup.c: ditto.
     * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree-chkp-opt.c: ditto.
     * tree-chrec.c: ditto.
     * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
     real.h due to flattening of tree.h.
     * tree-core.h: Flatten header file by removing all #include statements.
     * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
     real.h due to flattening of tree.h.
     * tree-diagnostic.c: ditto.
     * tree-dump.c: * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, 
real.h and
     fixed-value.h due to flattening of tree.h.
     * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
     real.h due to flattening of tree.h.
     * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree.h: Flatten header files by removing all includes except 
tree-core.h.
     Remove inline function convert_to_ptrofftype_loc to relocate to 
fold-const.c.
     Remove macro convert_to_ptrofftype to relocate to fold-const.h.
     Remove inline function fold_build_pointer_plus_loc to relocate to 
fold-const.c.
     Remove macro fold_build_pointer_plus to relocate to fold-const.h.
     Remove inline function fold_build_pointer_plus_hwi_loc to relocate 
to fold-const.c.
     Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
     * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, 
real.h and
     fixed-value.h due to flattening of tree.h.
     * tree-inline.c: ditto.
     * tree-into-ssa.c: ditto.
     * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree-loop-distribution.c: ditto.
     * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * tree-nrv.c: ditto.
     * tree-object-size.c: ditto.
     * tree-outof-ssa.c: ditto.
     * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree-phinodes.c: ditto.
     * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * tree-pretty-print.c: ditto.
     * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
     * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h and inchash.h due to flattening of tree.h.
     * tree-sra.c: Include  vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
     inchash.h due to flattening of tree.h.
     * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * tree-ssa.c: ditto.
     * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
     and real.h due to flattening of tree.h.
     * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * tree-ssa-copy.c: ditto.
     * tree-ssa-copyrename.c: ditto.
     * tree-ssa-dce.c: ditto.
     * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
     and real.h due to flattening of tree.h.
     * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * tree-ssa-forwprop.c: ditto.
     * tree-ssa-ifcombine.c: ditto.
     * tree-ssa-live.c: ditto.
     * tree-ssa-loop.c: ditto.
     * tree-ssa-loop-ch.c: ditto.
     * tree-ssa-loop-im.c: ditto.
     * tree-ssa-loop-ivcanon.c: ditto.
     * tree-ssa-loop-ivopts.c: ditto.
     * tree-ssa-loop-manip.c: ditto.
     * tree-ssa-loop-niter.c: ditto.
     * tree-ssa-loop-prefetch.c: ditto.
     * tree-ssa-loop-unswitch.c: ditto.
     * tree-ssa-loop-math-opts.c: ditto.
     * tree-ssanames.c: ditto.
     * tree-ssa-operands.c: ditto.
     * tree-ssa-phiopt.c: ditto.
     * tree-ssa-phiprop.c: ditto.
     * tree-ssa-pre.c: ditto.
     * tree-ssa-propagate.c: ditto.
     * tree-ssa-reassoc.c: ditto.
     * tree-ssa-sccvn.c: ditto.
     * tree-ssa-sink.c: ditto.
     * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h and inchash.h due to flattening of tree.h.
     * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
     * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h and inchash.h due to flattening of tree.h.
     * tree-ssa-ter.c: ditto.
     * tree-ssa-threadedge.c: ditto.
     * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h and inchash.h due to flattening of tree.h.
     * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
     wide-int.h and inchash.h due to flattening of tree.h.
     * tree-ssa-uninit.c: ditto.
     * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
     symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
     of tree.h.
     * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
     symtab.h, options.h, fold-const.h, wide-int.h and
     inchash.h due to flattening of tree.h.
     * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
     wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
     of tree.h.
     * tree-streamer-out.c: dittoo.
     * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * tree-tailcall.c: ditto.
     * tree-vect-data-refs.c: ditto.
     * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and 
inchash.h
     due to flattening of tree.h.
     * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * tree-vect-loop-manip.c: ditto.
     * tree-vectorizer.c: ditto.
     * tree-vect-patterns.c: ditto.
     * tree-vect-slp.c: ditto.
     * tree-vect-stmts.c: ditto.
     * tree-vrp.c: ditto.
     * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and 
inchash.h
     due to flattening of tree.h.
     * ubsan.c: ditto.
     * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * varasm.c: ditto.
     * varpool.c: ditto.
     * var-tracking.c: ditto.
     * vmsdbgout.c: ditto.
     * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and 
inchash.h
     due to flattening of tree.h.
     * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
     due to flattening of tree.h.
     * xcoffout.c: ditto.
     * libcc1/plugin.cc: Include hash-set.h, machmode.h, vec.h, 
double-int.h,
     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and 
inchash.h
     due to flattening of tree.h.

-- 
Michael Collison
Linaro Toolchain Working Group
michael.collison@linaro.org


[-- Attachment #2: tree-flatten-2.patch.gz --]
[-- Type: application/gzip, Size: 23353 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)
  2015-01-09  9:43 [PATCH] Flatten tree.h and tree-core.h (Version 3) Michael Collison
@ 2015-01-09 10:52 ` Richard Biener
  2015-01-09 21:13   ` Prathamesh Kulkarni
  2015-01-12 11:23 ` [PATCH] Flatten tree.h and tree-core.h (Version 3) Andreas Schwab
  1 sibling, 1 reply; 14+ messages in thread
From: Richard Biener @ 2015-01-09 10:52 UTC (permalink / raw)
  To: Michael Collison
  Cc: gcc Patches, Andrew MacLeod, Jeff Law, Prathamesh Kulkarni

On Fri, Jan 9, 2015 at 10:39 AM, Michael Collison
<michael.collison@linaro.org> wrote:
> This patch flattens tree.h and tree-core.h. This is a revised patch that
> does not include tree-core.h as a result of flattening.
>
> Version 3 of the patch adds the header files removed from tree-core.h to
> gcc-plugin.h in order to allow ggc-common.c to compile. This is a recent
> issue seen on trunk.
>
> I removed the includes in tree.h and tree-core.h except for the include of
> tree-core.h in tree.h.
>
> I modified genattrtab.c, genautomata.c, genemit.c, gengtype.c, gengtype.c,
> genoptinit.c, genoutput.c,
> genpeep.c, genpreds.c, and optc-save-gen-awk to include the the necessary
> include files removed from
> tree.h and tree-core.h when generating their respective files.
>
> I removed three inline functions from tree.h and relocated them to
> fold-const.c and exported them in fold-const.h. The functions are:
>
> convert_to_ptrofftype-loc
> fold_build_pointer_plus_loc
> fold_build_pointer_plus_hwi_loc
>
> All other changes include the necessary include files removed from tree.h
> and tree-core.h. Note the patches modifies all the front-ends.
>
> I bootstrapped on x86 with all languages. I also bootstrapped on all targets
> listed in contrib/config-list.mk with c and c++ enabled.
>
> Is this okay for trunk?

Ok.

Thanks,
Richard.

> 2014-12-24  Michael Collison  <michael.collison@linaro.org>
>
>     * genattrtab.c (write_header): Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     insn-attrtab.c.
>     * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h,
> machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     insn-automata.c.
>     * genemit.c (main): Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     insn-emit.c.
>     * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     gtype-desc.c.
>     * genopinit.c (main): Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     insn-opinit.c.
>     * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     insn-output.c.
>     * genpeep.c (main): Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     insn-peep.c.
>     * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     insn-preds.c.
>     * optc-save-gen-awk: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h when generating
>     options-save.c.
>     * opth-gen.awk: Change include guard from GCC_C_COMMON_H to
> GCC_C_COMMON_C
>     when generating options.h.
>
> 2014-12-24  Michael Collison  <michael.collison@linaro.org>
>
>     * ada/gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h,
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * ada/gcc-interface/decl.c: ditto.
>     * ada/gcc-interface/misc.c: ditto.
>     * ada/gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * ada/gcc-interface/trans.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
>     fold-const.h, wide-int.h, inchash.h due to
>     flattening of tree.h.
>     * ada/gcc-interface/utils.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h,
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * ada/gcc-interface/utils2.c: ditto.
>     * alias.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * asan.c: ditto.
>     * attribs.c: ditto.
>     * auto-inc-dec.c: ditto.
>     * auto-profile.c: ditto
>     * bb-reorder.c: ditto.
>     * bt-load.c: Include symtab.h due to flattening of tree.h.
>     * builtins.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * c/c-array-notation.c: ditto.
>     * c/c-aux-info.c: ditto.
>     * c/c-convert.c: ditto.
>     * c/c-decl.c: ditto.
>     * c/c-errors.c: ditto.
>     * c/c-lang.c: dittoxs.
>     * c/c-objc-common.c: ditto.
>     * c/c-parser.c: ditto.
>     * c/c-typeck.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, inchash.h, real.h and
>     fixed-value.h due to flattening of tree.h.
>     * calls.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * ccmp.c: ditto.
>     * c-family/array-notation-common.c: ditto.
>     * c-family/c-ada-spec.c: ditto.
>     * c-family/c-cilkplus.c: ditto.
>     * c-family/c-common.c: Include input.h due to flattening of tree.h.
>     Define macro GCC_C_COMMON_C.
>     * c-family/c-common.h: Flatten tree.h header files into c-common.h.
>     Remove include of tree-core.h.
>     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * c-family/c-dump.c: ditto.
>     * c-family/c-format.c: Flatten tree.h header files into c-common.h.
>     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * c-family/c-dump.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * c-family/c-format.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, inchash.h and real.h due to
>     flattening of tree.h.
>     * c-family/c-gimplify.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * c-family/cilk.c: ditto.
>     * c-family/c-lex.c: ditto.
>     * c-family/c-omp.c: ditto.
>     * c-family/c-opts.c: ditto.
>     * c-family/c-pch.c: ditto.
>     * c-family/c-ppoutput.c: ditto.
>     * c-family/c-pragma.c: ditto.
>     * c-family/c-pretty-print.c: ditto.
>     * c-family/c-semantics.c: ditto.
>     * c-family/c-ubsan.c: ditto.
>     * c-family/stub-objc.c: ditto.
>     * cfgbuild.c: ditto.
>     * cfg.c: ditto.
>     * cfgcleanup.c: ditto.
>     * cfgexpand.c: ditto.
>     * cfghooks.c: ditto.
>     * cfgloop.c: Include symtab.h, fold-const.h, and
>     inchash.h due to flattening of tree.h.
>     * cfgloopmanip.c: ditto.
>     * cfgrtl.c:  Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * cgraphbuild.c: ditto.
>     * cgraph.c: ditto.
>     * cgraphclones.c: ditto.
>     * cgraphunit.c: ditto.
>     * cilk-common.c: ditto.
>     * combine.c: ditto.
>     * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
>     * config/aarch64/aarch64-builtins.c:  Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * config/aarch64/aarch64.c: ditto.
>     * config/alpha/alpha.c: ditto.
>     * config/arc/arc.c: ditto.
>     * config/arm/aarch-common.c: ditto.
>     * config/arm/arm-builtins.c: ditto.
>     * config/arm/arm.c: ditto.
>     * config/arm/arm-c.c: ditto.
>     * config/avr/avr.c: ditto.
>     * config/avr/avr-c.c: ditto.
>     * config/avr/avr-log.c: ditto.
>     * config/bfin/bfin.c: ditto.
>     * config/c6x/c6x.c: ditto.
>     * config/cr16/cr16.c: ditto.
>     * config/cris/cris.c: ditto.
>     * config/darwin.c: ditto.
>     * config/darwin-c.c: ditto.
>     * config/default-c.c: ditto.
>     * config/epiphany/epiphany.c: ditto.
>     * config/fr30/fr30.c: ditto.
>     * config/frv/frv.c: ditto.
>     * config/glibc-c.c: ditto.
>     * config/h8300/h8300.c: ditto.
>     * config/i386/i386.c: ditto.
>     * config/i386/i386-c.c: ditto.
>     * config/i386/msformat.c: ditto.
>     * config/i386/winnt.c: ditto.
>     * config/i386/winnt-cxx.c: ditto.
>     * config/i386/winnt-stubs.c: ditto.
>     * config/ia64/ia64.c: ditto.
>     * config/ia64/ia64-c.c: ditto.
>     * config/iq2000/iq2000.c: ditto.
>     * config/lm32/lm32.c: Include symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * config/m32c/m32c.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * config/m32c/m32c-pragma.c: ditto.
>     * config/m32c/m32cr.c: ditto.
>     * config/m68/m68k.c: ditto.
>     * config/mcore/mcore.c: ditto.
>     * config/mep/mep.c: ditto.
>     * config/mep/mep-pragma.c: ditto.
>     * config/microblaze/microblaze.c: ditto.
>     * config/microblaze/microblaze-c.c: ditto.
>     * config/mips/mips.c: ditto.
>     * config/mmix/mmix.c: Include symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * config/moxie/moxie.c: ditto.
>     * config/msp430/msp430.c: ditto.
>     * config/msp430/msp430-c.c: ditto.
>     * config/nds32/nds32.c: ditto.
>     * config/nds32/nds32-cost.c: ditto.
>     * config/nds32/nds32-fp-as-gp.c: ditto.
>     * config/nds32/nds32-intrinsic.c: ditto.
>     * config/nds32/nds32-isr.c: ditto.
>     * config/nds32/nds32-md-auxillary.c: ditto.
>     * config/nds32/nds32-memory-manipulationx.c: ditto.
>     * config/nds32/nds32-pipelines-auxillary.c: ditto.
>     * config/nds32/nds32-predicates.c: ditto.
>     * config/nios2/nios2.c: ditto.
>     * config/nvptx/nvptx.c: ditto.
>     * config/pa/pa.c: ditto.
>     * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * config/rl78/rl78.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * config/rl78/rl78-cx.c: ditto.
>     * config/rs6000/rs6000.c: ditto.
>     * config/rs6000/rs6000-c.c: ditto.
>     * config/rx/rx.c: ditto.
>     * config/s390/s390.c: ditto.
>     * config/sh/sh.c: ditto.
>     * config/sh/sc.c: ditto.
>     * config/sh/sh-mem.cc: ditto.
>     * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
>     due to flattening of tree.h.
>     Remove include of tree-core.h.
>     * config/sol2.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * config/sol2-c.c: ditto.
>     * config/sol2-cxx.c: ditto.
>     * config/sol2-stubs.c: ditto.
>     * config/sparc/sparc.c: ditto.
>     * config/sparc/sparc-cx.c: ditto.
>     * config/spu/spu.c: ditto.
>     * config/spu/spu-c.c: ditto
>     * config/storym16/stormy16.c: ditto.
>     * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
>     * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>     fold-const.h, wide-int.h, and inchash.h due to
>     flattening of tree.h.
>     * config/v850/v850.c: ditto.
>     * config/v850/v850-c.c: ditto.
>     * config/vax/vax.c: ditto.
>     * config/vms/vms.c: ditto.
>     * config/vms/vms-c.c: ditto.
>     * config/vxworks.c: ditto.
>     * config/winnt-c.c: ditto.
>     * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * coverage.c: ditto.
>     * cp/call.c: ditto.
>     * cp/class.c: ditto.
>     * cp/constexpr.c: ditto.
>     * cp/cp-array-notation.c: ditto.
>     * cp/cp-gimplify.c: ditto.
>     * cp/cp-lang.c: ditto.
>     * cp/cp-objcp-common.c: ditto.
>     * cp/cvt.c: ditto.
>     * cp/decl2.c: ditto.
>     * cp/decl.c: ditto.
>     * cp/dump.c: ditto.
>     * cp/error.c: ditto.
>     * cp/except.c: ditto.
>     * cp/expr.c: ditto.
>     * cp/friend.c: ditto.
>     * cp/init.c: ditto.
>     * cp/lambda.c: ditto.
>     * cp/lex.c: ditto.
>     * cp/mangle.c: ditto.
>     * cp/name-lookup.c: ditto.
>     * cp/optimize.c: ditto.
>     * cp/parser.c: ditto.
>     * cp/pt.c: ditto.
>     * cp/ptree.c: ditto.
>     * cp/repo.c: ditto.
>     * cp/rtti.c: ditto.
>     * cp/search.c: ditto.
>     * cp/semantics.c: ditto.
>     * cp/tree.c: ditto.
>     * cp/typeck2.c: ditto.
>     * cp/typeck.c: ditto.
>     * cppbuiltin.c: ditto.
>     * cprop.c: ditto.
>     * cse.c: Add include of symtab.h due to flattening of tree.h.
>     * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * data-streamer.c: ditto.
>     * data-streamer-in.c: ditto.
>     * data-streamer-out.c: ditto.
>     * dbxout.c: ditto.
>     * dce.c: ditto.
>     * ddg.c: Add include of symtab.h due to flattening of tree.h.
>     * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * dfp.c: ditto.
>     * df-scan.c: ditto.
>     * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>     * double-int.c: ditto.
>     * dse.c: ditto.
>     * dumpfile.c: ditto.
>     * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>     * dwarf2cfi.c: ditto.
>     * dwarf2out.c: ditto.
>     * emit-rtl.c: ditto.
>     * except.c: ditto.
>     * explow.c: ditto.
>     * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * expr.c: ditto.
>     * final.c: ditto.
>     * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
>     * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     Relocate inline function convert_to_ptrofftype_loc from tree.h.
>     Relocate inline function fold_build_pointer_plus_loc from tree.h.
>     Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
>     * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
>     Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
>     Relocate macro fold_build_pointer_plus_hwi from tree.h.
>     Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
>     Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
>     Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
>     * fortran/convert.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/decl.c: ditto.
>     * fortran/f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/iresolve.c: ditto.
>     * fortran/match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/options.c: ditto.
>     * fortran/target-memory.c: Include hash-set.h, vec.h,
>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/trans-array.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/trans-common.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/trans-const.c: ditto.
>     * fortran/trans-decl.c: ditto.
>     * fortran/trans-expr.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>     * fortran/trans-io.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * fortran/trans-openmp.c: ditto.
>     * fortran/trans-stmt.c: ditto.
>     * fortran/trans-types.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>     * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * gcc-plugin.h: Include statistics.h, double-int.h, real.h,
> fixed-value.h,
>     alias.h, flags.h, and symtab.h due to flattening of tree.h
>     * gcse.c: ditto.
>     * generic-match-head.c:  Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ggc-page.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * gimple-builder.c: ditto.
>     * gimple.c: ditto.
>     * gimple-expr.c: ditto.
>     * gimple-fold.c: ditto.
>     * gimple-iterator.c: ditto.
>     * gimple-low.c: ditto.
>     * gimple-match-head.c: ditto.
>     * gimple-pretty-print.c: ditto.
>     * generic-ssa-isolate-paths.c:  Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * gimple-ssa-strength-reduction.c: ditto.
>     * gimple-streamer-in.c: ditto.
>     * gimple-streamer-out.c: ditto.
>     * gimple-walk.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * gimplify.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * gimplify-me.c: ditto.
>     * go/go-gcc.cc: ditto.
>     * go/go-lang.c: ditto.
>     * go/gdump.c: ditto.
>     * graphite-blocking.c: ditto.
>     * graphite.c: ditto.
>     * graphite-dependencies.c: ditto.
>     * graphite-interchange.c: ditto.
>     * graphite-isl-ast-to-gimple.c: ditto.
>     * graphite-optimize-isl.c: ditto.
>     * graphite-poly.c: ditto.
>     * graphite-scop-detection.c: ditto.
>     * graphite-sese-to-poly.c: ditto.
>     * hw-doloop.c: Include symtab.h due to flattening of tree.h.
>     * ifcvt.c: ditto.
>     * init-regs.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa.c: ditto.
>     * ipa-chkp.c: ditto.
>     * ipa-comdats.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa-devirt.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa-icf-gimple.c: ditto.
>     * ipa-inline-analysis.c:  Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa-inline.c: ditto.
>     * ipa-inline-transform.c: ditto.
>     * ipa-polymorhpic-call.c: ditto.
>     * ipa-profile.c: ditto.
>     * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ipa-reference.c: ditto.
>     * ipa-split.c: ditto.
>     * ipa-utils.c: ditto.
>     * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * ira.c: ditto.
>     * ira-color.c: Include hash-set.h due to flattening of tree.h.
>     * ira-costs.c: ditto.
>     * ira-emit.c: ditto.
>     * java/boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * java/builtins.c: ditto.
>     * java/class.c: ditto.
>     * java/constants.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * java/decl.c: ditto.
>     * java/except.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * java/expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h,inchash.h and real.h due to flattening of tree.h.
>     * java/gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * java/jcf-dump.c: ditto.
>     * java/jcf-io.c: ditto.
>     * java/jcf-parse.c: ditto.
>     * java/jvgenmain.c: ditto.
>     * java/lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * java/mangle.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * java/mangle_name.c: ditto.
>     * java/resource.c: ditto.
>     * java/typeck.c: ditto.
>     * java/verify-glue.c: ditto.
>     * java/verify-impl.c: ditto.
>     * jump.c: Include symtab.h due to flattening of tree.h.
>     * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * loop-doloop.c: Include symtab.h due to flattening of tree.h.
>     * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * loop-invariant.c: Include symtab.h due to flattening of tree.h.
>     * loop-iv.c: ditto.
>     * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * lower-subreg.c: ditto.
>     * lra-assigns.c: Include symtab.h due to flattening of tree.h.
>     * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
>     * lra-constraints.c: ditto.
>     * lra-eliminations.c: ditto.
>     * lra-livesc: ditto.
>     * lra-remat.c: ditto.
>     * lra-spills.c: ditto.
>     * lto/lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * lto/lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * lto/lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * lto/lto-partition.c: ditto.
>     * lto/lto-symtab.c: ditto.
>     * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * lto-opts.c: ditto.
>     * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * lto-section-out.c: ditto.
>     * lto-streamer.c: ditto.
>     * lto-streamer-in.c: ditto.
>     * lto-streamer-out.c: ditto.
>     * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * objc/objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options, fold-const.h,
>     wide-int.h, and inchash.h due to flattening of tree.h.
>     * objc/objc-encoding.c: ditto.
>     * objc/objc-gnu-runtime-abi-01.c: ditto.
>     * objc/objc-lang.c: ditto.
>     * objc/objc-map.c: ditto.
>     * objc/objc-next-runtime-abi-01.c: ditto.
>     * objc/objc-next-runtime-abi-02.c: ditto.
>     * objc/objc-runtime-shared-support.c: ditto.
>     * objcp/objcp-decl.c: ditto.
>     * objcp/objcp-lang.c: ditto.
>     * omega.c: ditto.
>     * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * optabs.c: ditto.
>     * opts-global.c: ditto.
>     * passes.c: ditto.
>     * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * postreload.c: Include symtab.h due to flattening of tree.h.
>     * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * predict.c: ditto.
>     * print-rtl.c: ditto.
>     * print-tree.c: ditto.
>     * profile.c: Include symtab.h, fold-const.h
>     and inchash.h due to flattening of tree.h.
>     * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * ree.c: ditto.
>     * reginfo.c: ditto.
>     * reg-stack.c: ditto.
>     * reload1.c: Include symtab.h, fold-const.h, wide-int.h
>     and inchash.h due to flattening of tree.h.
>     * reload.c: Include symtab.h due to flattening of tree.h.
>     * reorg.c: ditto.
>     * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
>     and inchash.h due to flattening of tree.h.
>     * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * rtlhooks.c: Include symtab.h due to flattening of tree.h.
>     * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * sched-vis.c: ditto.
>     * sdbout.c: ditto.
>     * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
>     and inchash.h due to flattening of tree.h.
>     * sel-sched-ir.c: ditto.
>     * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * stack-ptr-mod.c: ditto.
>     * stmt.c: ditto.
>     * store-motion.c: ditto.
>     * store-layout.c: ditto.
>     * stringpool.c: ditto.
>     * symtab.c: ditto.
>     * target-globals.c: ditto.
>     * targhooks.c: ditto.
>     * toplev.c: ditto.
>     * tracer.c: ditto.
>     * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree-affine.c: ditto.
>     * tree-browser.c: ditto.
>     * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
>     fold-const.h, wide-int.h, inchash.h and real.h due to
>     flattening of tree.h.
>     * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree-cfgcleanup.c: ditto.
>     * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree-chkp-opt.c: ditto.
>     * tree-chrec.c: ditto.
>     * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>     real.h due to flattening of tree.h.
>     * tree-core.h: Flatten header file by removing all #include statements.
>     * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>     real.h due to flattening of tree.h.
>     * tree-diagnostic.c: ditto.
>     * tree-dump.c: * tree-dfa.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h
> and
>     fixed-value.h due to flattening of tree.h.
>     * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>     real.h due to flattening of tree.h.
>     * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree.h: Flatten header files by removing all includes except
> tree-core.h.
>     Remove inline function convert_to_ptrofftype_loc to relocate to
> fold-const.c.
>     Remove macro convert_to_ptrofftype to relocate to fold-const.h.
>     Remove inline function fold_build_pointer_plus_loc to relocate to
> fold-const.c.
>     Remove macro fold_build_pointer_plus to relocate to fold-const.h.
>     Remove inline function fold_build_pointer_plus_hwi_loc to relocate to
> fold-const.c.
>     Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
>     * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h
> and
>     fixed-value.h due to flattening of tree.h.
>     * tree-inline.c: ditto.
>     * tree-into-ssa.c: ditto.
>     * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree-loop-distribution.c: ditto.
>     * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * tree-nrv.c: ditto.
>     * tree-object-size.c: ditto.
>     * tree-outof-ssa.c: ditto.
>     * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree-phinodes.c: ditto.
>     * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * tree-pretty-print.c: ditto.
>     * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
>     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
>     * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h and inchash.h due to flattening of tree.h.
>     * tree-sra.c: Include  vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>     inchash.h due to flattening of tree.h.
>     * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * tree-ssa.c: ditto.
>     * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
>     and real.h due to flattening of tree.h.
>     * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * tree-ssa-copy.c: ditto.
>     * tree-ssa-copyrename.c: ditto.
>     * tree-ssa-dce.c: ditto.
>     * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
>     and real.h due to flattening of tree.h.
>     * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * tree-ssa-forwprop.c: ditto.
>     * tree-ssa-ifcombine.c: ditto.
>     * tree-ssa-live.c: ditto.
>     * tree-ssa-loop.c: ditto.
>     * tree-ssa-loop-ch.c: ditto.
>     * tree-ssa-loop-im.c: ditto.
>     * tree-ssa-loop-ivcanon.c: ditto.
>     * tree-ssa-loop-ivopts.c: ditto.
>     * tree-ssa-loop-manip.c: ditto.
>     * tree-ssa-loop-niter.c: ditto.
>     * tree-ssa-loop-prefetch.c: ditto.
>     * tree-ssa-loop-unswitch.c: ditto.
>     * tree-ssa-loop-math-opts.c: ditto.
>     * tree-ssanames.c: ditto.
>     * tree-ssa-operands.c: ditto.
>     * tree-ssa-phiopt.c: ditto.
>     * tree-ssa-phiprop.c: ditto.
>     * tree-ssa-pre.c: ditto.
>     * tree-ssa-propagate.c: ditto.
>     * tree-ssa-reassoc.c: ditto.
>     * tree-ssa-sccvn.c: ditto.
>     * tree-ssa-sink.c: ditto.
>     * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h and inchash.h due to flattening of tree.h.
>     * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
>     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
>     * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h and inchash.h due to flattening of tree.h.
>     * tree-ssa-ter.c: ditto.
>     * tree-ssa-threadedge.c: ditto.
>     * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h and inchash.h due to flattening of tree.h.
>     * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>     wide-int.h and inchash.h due to flattening of tree.h.
>     * tree-ssa-uninit.c: ditto.
>     * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
>     symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
>     of tree.h.
>     * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
>     symtab.h, options.h, fold-const.h, wide-int.h and
>     inchash.h due to flattening of tree.h.
>     * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>     wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
>     of tree.h.
>     * tree-streamer-out.c: dittoo.
>     * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * tree-tailcall.c: ditto.
>     * tree-vect-data-refs.c: ditto.
>     * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h,
> double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
> inchash.h
>     due to flattening of tree.h.
>     * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * tree-vect-loop-manip.c: ditto.
>     * tree-vectorizer.c: ditto.
>     * tree-vect-patterns.c: ditto.
>     * tree-vect-slp.c: ditto.
>     * tree-vect-stmts.c: ditto.
>     * tree-vrp.c: ditto.
>     * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
> inchash.h
>     due to flattening of tree.h.
>     * ubsan.c: ditto.
>     * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * varasm.c: ditto.
>     * varpool.c: ditto.
>     * var-tracking.c: ditto.
>     * vmsdbgout.c: ditto.
>     * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
> inchash.h
>     due to flattening of tree.h.
>     * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>     due to flattening of tree.h.
>     * xcoffout.c: ditto.
>     * libcc1/plugin.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
> inchash.h
>     due to flattening of tree.h.
>
> --
> Michael Collison
> Linaro Toolchain Working Group
> michael.collison@linaro.org
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)
  2015-01-09 10:52 ` Richard Biener
@ 2015-01-09 21:13   ` Prathamesh Kulkarni
  2015-01-09 21:35     ` Jakub Jelinek
                       ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Prathamesh Kulkarni @ 2015-01-09 21:13 UTC (permalink / raw)
  To: Richard Biener; +Cc: Michael Collison, gcc Patches, Andrew MacLeod, Jeff Law

On 9 January 2015 at 16:21, Richard Biener <richard.guenther@gmail.com> wrote:
> On Fri, Jan 9, 2015 at 10:39 AM, Michael Collison
> <michael.collison@linaro.org> wrote:
>> This patch flattens tree.h and tree-core.h. This is a revised patch that
>> does not include tree-core.h as a result of flattening.
>>
>> Version 3 of the patch adds the header files removed from tree-core.h to
>> gcc-plugin.h in order to allow ggc-common.c to compile. This is a recent
>> issue seen on trunk.
>>
>> I removed the includes in tree.h and tree-core.h except for the include of
>> tree-core.h in tree.h.
>>
>> I modified genattrtab.c, genautomata.c, genemit.c, gengtype.c, gengtype.c,
>> genoptinit.c, genoutput.c,
>> genpeep.c, genpreds.c, and optc-save-gen-awk to include the the necessary
>> include files removed from
>> tree.h and tree-core.h when generating their respective files.
>>
>> I removed three inline functions from tree.h and relocated them to
>> fold-const.c and exported them in fold-const.h. The functions are:
>>
>> convert_to_ptrofftype-loc
>> fold_build_pointer_plus_loc
>> fold_build_pointer_plus_hwi_loc
>>
>> All other changes include the necessary include files removed from tree.h
>> and tree-core.h. Note the patches modifies all the front-ends.
>>
>> I bootstrapped on x86 with all languages. I also bootstrapped on all targets
>> listed in contrib/config-list.mk with c and c++ enabled.
>>
>> Is this okay for trunk?
>
> Ok.
Committed as r219402 on behalf of Michael.

Thanks,
Prathamesh
>
> Thanks,
> Richard.
>
>> 2014-12-24  Michael Collison  <michael.collison@linaro.org>
>>
>>     * genattrtab.c (write_header): Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     insn-attrtab.c.
>>     * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h,
>> machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     insn-automata.c.
>>     * genemit.c (main): Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     insn-emit.c.
>>     * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     gtype-desc.c.
>>     * genopinit.c (main): Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     insn-opinit.c.
>>     * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     insn-output.c.
>>     * genpeep.c (main): Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     insn-peep.c.
>>     * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     insn-preds.c.
>>     * optc-save-gen-awk: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h when generating
>>     options-save.c.
>>     * opth-gen.awk: Change include guard from GCC_C_COMMON_H to
>> GCC_C_COMMON_C
>>     when generating options.h.
>>
>> 2014-12-24  Michael Collison  <michael.collison@linaro.org>
>>
>>     * ada/gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h,
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * ada/gcc-interface/decl.c: ditto.
>>     * ada/gcc-interface/misc.c: ditto.
>>     * ada/gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * ada/gcc-interface/trans.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
>>     fold-const.h, wide-int.h, inchash.h due to
>>     flattening of tree.h.
>>     * ada/gcc-interface/utils.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h,
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * ada/gcc-interface/utils2.c: ditto.
>>     * alias.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * asan.c: ditto.
>>     * attribs.c: ditto.
>>     * auto-inc-dec.c: ditto.
>>     * auto-profile.c: ditto
>>     * bb-reorder.c: ditto.
>>     * bt-load.c: Include symtab.h due to flattening of tree.h.
>>     * builtins.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * c/c-array-notation.c: ditto.
>>     * c/c-aux-info.c: ditto.
>>     * c/c-convert.c: ditto.
>>     * c/c-decl.c: ditto.
>>     * c/c-errors.c: ditto.
>>     * c/c-lang.c: dittoxs.
>>     * c/c-objc-common.c: ditto.
>>     * c/c-parser.c: ditto.
>>     * c/c-typeck.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, inchash.h, real.h and
>>     fixed-value.h due to flattening of tree.h.
>>     * calls.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * ccmp.c: ditto.
>>     * c-family/array-notation-common.c: ditto.
>>     * c-family/c-ada-spec.c: ditto.
>>     * c-family/c-cilkplus.c: ditto.
>>     * c-family/c-common.c: Include input.h due to flattening of tree.h.
>>     Define macro GCC_C_COMMON_C.
>>     * c-family/c-common.h: Flatten tree.h header files into c-common.h.
>>     Remove include of tree-core.h.
>>     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * c-family/c-dump.c: ditto.
>>     * c-family/c-format.c: Flatten tree.h header files into c-common.h.
>>     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * c-family/c-dump.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * c-family/c-format.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, inchash.h and real.h due to
>>     flattening of tree.h.
>>     * c-family/c-gimplify.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * c-family/cilk.c: ditto.
>>     * c-family/c-lex.c: ditto.
>>     * c-family/c-omp.c: ditto.
>>     * c-family/c-opts.c: ditto.
>>     * c-family/c-pch.c: ditto.
>>     * c-family/c-ppoutput.c: ditto.
>>     * c-family/c-pragma.c: ditto.
>>     * c-family/c-pretty-print.c: ditto.
>>     * c-family/c-semantics.c: ditto.
>>     * c-family/c-ubsan.c: ditto.
>>     * c-family/stub-objc.c: ditto.
>>     * cfgbuild.c: ditto.
>>     * cfg.c: ditto.
>>     * cfgcleanup.c: ditto.
>>     * cfgexpand.c: ditto.
>>     * cfghooks.c: ditto.
>>     * cfgloop.c: Include symtab.h, fold-const.h, and
>>     inchash.h due to flattening of tree.h.
>>     * cfgloopmanip.c: ditto.
>>     * cfgrtl.c:  Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * cgraphbuild.c: ditto.
>>     * cgraph.c: ditto.
>>     * cgraphclones.c: ditto.
>>     * cgraphunit.c: ditto.
>>     * cilk-common.c: ditto.
>>     * combine.c: ditto.
>>     * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
>>     * config/aarch64/aarch64-builtins.c:  Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * config/aarch64/aarch64.c: ditto.
>>     * config/alpha/alpha.c: ditto.
>>     * config/arc/arc.c: ditto.
>>     * config/arm/aarch-common.c: ditto.
>>     * config/arm/arm-builtins.c: ditto.
>>     * config/arm/arm.c: ditto.
>>     * config/arm/arm-c.c: ditto.
>>     * config/avr/avr.c: ditto.
>>     * config/avr/avr-c.c: ditto.
>>     * config/avr/avr-log.c: ditto.
>>     * config/bfin/bfin.c: ditto.
>>     * config/c6x/c6x.c: ditto.
>>     * config/cr16/cr16.c: ditto.
>>     * config/cris/cris.c: ditto.
>>     * config/darwin.c: ditto.
>>     * config/darwin-c.c: ditto.
>>     * config/default-c.c: ditto.
>>     * config/epiphany/epiphany.c: ditto.
>>     * config/fr30/fr30.c: ditto.
>>     * config/frv/frv.c: ditto.
>>     * config/glibc-c.c: ditto.
>>     * config/h8300/h8300.c: ditto.
>>     * config/i386/i386.c: ditto.
>>     * config/i386/i386-c.c: ditto.
>>     * config/i386/msformat.c: ditto.
>>     * config/i386/winnt.c: ditto.
>>     * config/i386/winnt-cxx.c: ditto.
>>     * config/i386/winnt-stubs.c: ditto.
>>     * config/ia64/ia64.c: ditto.
>>     * config/ia64/ia64-c.c: ditto.
>>     * config/iq2000/iq2000.c: ditto.
>>     * config/lm32/lm32.c: Include symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * config/m32c/m32c.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * config/m32c/m32c-pragma.c: ditto.
>>     * config/m32c/m32cr.c: ditto.
>>     * config/m68/m68k.c: ditto.
>>     * config/mcore/mcore.c: ditto.
>>     * config/mep/mep.c: ditto.
>>     * config/mep/mep-pragma.c: ditto.
>>     * config/microblaze/microblaze.c: ditto.
>>     * config/microblaze/microblaze-c.c: ditto.
>>     * config/mips/mips.c: ditto.
>>     * config/mmix/mmix.c: Include symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * config/moxie/moxie.c: ditto.
>>     * config/msp430/msp430.c: ditto.
>>     * config/msp430/msp430-c.c: ditto.
>>     * config/nds32/nds32.c: ditto.
>>     * config/nds32/nds32-cost.c: ditto.
>>     * config/nds32/nds32-fp-as-gp.c: ditto.
>>     * config/nds32/nds32-intrinsic.c: ditto.
>>     * config/nds32/nds32-isr.c: ditto.
>>     * config/nds32/nds32-md-auxillary.c: ditto.
>>     * config/nds32/nds32-memory-manipulationx.c: ditto.
>>     * config/nds32/nds32-pipelines-auxillary.c: ditto.
>>     * config/nds32/nds32-predicates.c: ditto.
>>     * config/nios2/nios2.c: ditto.
>>     * config/nvptx/nvptx.c: ditto.
>>     * config/pa/pa.c: ditto.
>>     * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * config/rl78/rl78.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * config/rl78/rl78-cx.c: ditto.
>>     * config/rs6000/rs6000.c: ditto.
>>     * config/rs6000/rs6000-c.c: ditto.
>>     * config/rx/rx.c: ditto.
>>     * config/s390/s390.c: ditto.
>>     * config/sh/sh.c: ditto.
>>     * config/sh/sc.c: ditto.
>>     * config/sh/sh-mem.cc: ditto.
>>     * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
>>     due to flattening of tree.h.
>>     Remove include of tree-core.h.
>>     * config/sol2.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * config/sol2-c.c: ditto.
>>     * config/sol2-cxx.c: ditto.
>>     * config/sol2-stubs.c: ditto.
>>     * config/sparc/sparc.c: ditto.
>>     * config/sparc/sparc-cx.c: ditto.
>>     * config/spu/spu.c: ditto.
>>     * config/spu/spu-c.c: ditto
>>     * config/storym16/stormy16.c: ditto.
>>     * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
>>     * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
>>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>>     fold-const.h, wide-int.h, and inchash.h due to
>>     flattening of tree.h.
>>     * config/v850/v850.c: ditto.
>>     * config/v850/v850-c.c: ditto.
>>     * config/vax/vax.c: ditto.
>>     * config/vms/vms.c: ditto.
>>     * config/vms/vms-c.c: ditto.
>>     * config/vxworks.c: ditto.
>>     * config/winnt-c.c: ditto.
>>     * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * coverage.c: ditto.
>>     * cp/call.c: ditto.
>>     * cp/class.c: ditto.
>>     * cp/constexpr.c: ditto.
>>     * cp/cp-array-notation.c: ditto.
>>     * cp/cp-gimplify.c: ditto.
>>     * cp/cp-lang.c: ditto.
>>     * cp/cp-objcp-common.c: ditto.
>>     * cp/cvt.c: ditto.
>>     * cp/decl2.c: ditto.
>>     * cp/decl.c: ditto.
>>     * cp/dump.c: ditto.
>>     * cp/error.c: ditto.
>>     * cp/except.c: ditto.
>>     * cp/expr.c: ditto.
>>     * cp/friend.c: ditto.
>>     * cp/init.c: ditto.
>>     * cp/lambda.c: ditto.
>>     * cp/lex.c: ditto.
>>     * cp/mangle.c: ditto.
>>     * cp/name-lookup.c: ditto.
>>     * cp/optimize.c: ditto.
>>     * cp/parser.c: ditto.
>>     * cp/pt.c: ditto.
>>     * cp/ptree.c: ditto.
>>     * cp/repo.c: ditto.
>>     * cp/rtti.c: ditto.
>>     * cp/search.c: ditto.
>>     * cp/semantics.c: ditto.
>>     * cp/tree.c: ditto.
>>     * cp/typeck2.c: ditto.
>>     * cp/typeck.c: ditto.
>>     * cppbuiltin.c: ditto.
>>     * cprop.c: ditto.
>>     * cse.c: Add include of symtab.h due to flattening of tree.h.
>>     * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * data-streamer.c: ditto.
>>     * data-streamer-in.c: ditto.
>>     * data-streamer-out.c: ditto.
>>     * dbxout.c: ditto.
>>     * dce.c: ditto.
>>     * ddg.c: Add include of symtab.h due to flattening of tree.h.
>>     * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * dfp.c: ditto.
>>     * df-scan.c: ditto.
>>     * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>>     * double-int.c: ditto.
>>     * dse.c: ditto.
>>     * dumpfile.c: ditto.
>>     * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>>     * dwarf2cfi.c: ditto.
>>     * dwarf2out.c: ditto.
>>     * emit-rtl.c: ditto.
>>     * except.c: ditto.
>>     * explow.c: ditto.
>>     * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * expr.c: ditto.
>>     * final.c: ditto.
>>     * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
>>     * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     Relocate inline function convert_to_ptrofftype_loc from tree.h.
>>     Relocate inline function fold_build_pointer_plus_loc from tree.h.
>>     Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
>>     * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
>>     Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
>>     Relocate macro fold_build_pointer_plus_hwi from tree.h.
>>     Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
>>     Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
>>     Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
>>     * fortran/convert.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/decl.c: ditto.
>>     * fortran/f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/iresolve.c: ditto.
>>     * fortran/match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/options.c: ditto.
>>     * fortran/target-memory.c: Include hash-set.h, vec.h,
>>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/trans-array.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/trans-common.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/trans-const.c: ditto.
>>     * fortran/trans-decl.c: ditto.
>>     * fortran/trans-expr.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>>     * fortran/trans-io.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * fortran/trans-openmp.c: ditto.
>>     * fortran/trans-stmt.c: ditto.
>>     * fortran/trans-types.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>>     * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * gcc-plugin.h: Include statistics.h, double-int.h, real.h,
>> fixed-value.h,
>>     alias.h, flags.h, and symtab.h due to flattening of tree.h
>>     * gcse.c: ditto.
>>     * generic-match-head.c:  Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ggc-page.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * gimple-builder.c: ditto.
>>     * gimple.c: ditto.
>>     * gimple-expr.c: ditto.
>>     * gimple-fold.c: ditto.
>>     * gimple-iterator.c: ditto.
>>     * gimple-low.c: ditto.
>>     * gimple-match-head.c: ditto.
>>     * gimple-pretty-print.c: ditto.
>>     * generic-ssa-isolate-paths.c:  Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * gimple-ssa-strength-reduction.c: ditto.
>>     * gimple-streamer-in.c: ditto.
>>     * gimple-streamer-out.c: ditto.
>>     * gimple-walk.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * gimplify.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * gimplify-me.c: ditto.
>>     * go/go-gcc.cc: ditto.
>>     * go/go-lang.c: ditto.
>>     * go/gdump.c: ditto.
>>     * graphite-blocking.c: ditto.
>>     * graphite.c: ditto.
>>     * graphite-dependencies.c: ditto.
>>     * graphite-interchange.c: ditto.
>>     * graphite-isl-ast-to-gimple.c: ditto.
>>     * graphite-optimize-isl.c: ditto.
>>     * graphite-poly.c: ditto.
>>     * graphite-scop-detection.c: ditto.
>>     * graphite-sese-to-poly.c: ditto.
>>     * hw-doloop.c: Include symtab.h due to flattening of tree.h.
>>     * ifcvt.c: ditto.
>>     * init-regs.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa.c: ditto.
>>     * ipa-chkp.c: ditto.
>>     * ipa-comdats.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa-devirt.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa-icf-gimple.c: ditto.
>>     * ipa-inline-analysis.c:  Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa-inline.c: ditto.
>>     * ipa-inline-transform.c: ditto.
>>     * ipa-polymorhpic-call.c: ditto.
>>     * ipa-profile.c: ditto.
>>     * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ipa-reference.c: ditto.
>>     * ipa-split.c: ditto.
>>     * ipa-utils.c: ditto.
>>     * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * ira.c: ditto.
>>     * ira-color.c: Include hash-set.h due to flattening of tree.h.
>>     * ira-costs.c: ditto.
>>     * ira-emit.c: ditto.
>>     * java/boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * java/builtins.c: ditto.
>>     * java/class.c: ditto.
>>     * java/constants.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * java/decl.c: ditto.
>>     * java/except.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * java/expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h,inchash.h and real.h due to flattening of tree.h.
>>     * java/gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * java/jcf-dump.c: ditto.
>>     * java/jcf-io.c: ditto.
>>     * java/jcf-parse.c: ditto.
>>     * java/jvgenmain.c: ditto.
>>     * java/lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * java/mangle.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * java/mangle_name.c: ditto.
>>     * java/resource.c: ditto.
>>     * java/typeck.c: ditto.
>>     * java/verify-glue.c: ditto.
>>     * java/verify-impl.c: ditto.
>>     * jump.c: Include symtab.h due to flattening of tree.h.
>>     * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * loop-doloop.c: Include symtab.h due to flattening of tree.h.
>>     * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * loop-invariant.c: Include symtab.h due to flattening of tree.h.
>>     * loop-iv.c: ditto.
>>     * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * lower-subreg.c: ditto.
>>     * lra-assigns.c: Include symtab.h due to flattening of tree.h.
>>     * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
>>     * lra-constraints.c: ditto.
>>     * lra-eliminations.c: ditto.
>>     * lra-livesc: ditto.
>>     * lra-remat.c: ditto.
>>     * lra-spills.c: ditto.
>>     * lto/lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * lto/lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * lto/lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * lto/lto-partition.c: ditto.
>>     * lto/lto-symtab.c: ditto.
>>     * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * lto-opts.c: ditto.
>>     * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * lto-section-out.c: ditto.
>>     * lto-streamer.c: ditto.
>>     * lto-streamer-in.c: ditto.
>>     * lto-streamer-out.c: ditto.
>>     * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * objc/objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options, fold-const.h,
>>     wide-int.h, and inchash.h due to flattening of tree.h.
>>     * objc/objc-encoding.c: ditto.
>>     * objc/objc-gnu-runtime-abi-01.c: ditto.
>>     * objc/objc-lang.c: ditto.
>>     * objc/objc-map.c: ditto.
>>     * objc/objc-next-runtime-abi-01.c: ditto.
>>     * objc/objc-next-runtime-abi-02.c: ditto.
>>     * objc/objc-runtime-shared-support.c: ditto.
>>     * objcp/objcp-decl.c: ditto.
>>     * objcp/objcp-lang.c: ditto.
>>     * omega.c: ditto.
>>     * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * optabs.c: ditto.
>>     * opts-global.c: ditto.
>>     * passes.c: ditto.
>>     * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * postreload.c: Include symtab.h due to flattening of tree.h.
>>     * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * predict.c: ditto.
>>     * print-rtl.c: ditto.
>>     * print-tree.c: ditto.
>>     * profile.c: Include symtab.h, fold-const.h
>>     and inchash.h due to flattening of tree.h.
>>     * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * ree.c: ditto.
>>     * reginfo.c: ditto.
>>     * reg-stack.c: ditto.
>>     * reload1.c: Include symtab.h, fold-const.h, wide-int.h
>>     and inchash.h due to flattening of tree.h.
>>     * reload.c: Include symtab.h due to flattening of tree.h.
>>     * reorg.c: ditto.
>>     * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
>>     and inchash.h due to flattening of tree.h.
>>     * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * rtlhooks.c: Include symtab.h due to flattening of tree.h.
>>     * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * sched-vis.c: ditto.
>>     * sdbout.c: ditto.
>>     * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
>>     and inchash.h due to flattening of tree.h.
>>     * sel-sched-ir.c: ditto.
>>     * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * stack-ptr-mod.c: ditto.
>>     * stmt.c: ditto.
>>     * store-motion.c: ditto.
>>     * store-layout.c: ditto.
>>     * stringpool.c: ditto.
>>     * symtab.c: ditto.
>>     * target-globals.c: ditto.
>>     * targhooks.c: ditto.
>>     * toplev.c: ditto.
>>     * tracer.c: ditto.
>>     * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree-affine.c: ditto.
>>     * tree-browser.c: ditto.
>>     * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
>>     fold-const.h, wide-int.h, inchash.h and real.h due to
>>     flattening of tree.h.
>>     * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree-cfgcleanup.c: ditto.
>>     * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree-chkp-opt.c: ditto.
>>     * tree-chrec.c: ditto.
>>     * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>>     real.h due to flattening of tree.h.
>>     * tree-core.h: Flatten header file by removing all #include statements.
>>     * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>>     real.h due to flattening of tree.h.
>>     * tree-diagnostic.c: ditto.
>>     * tree-dump.c: * tree-dfa.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h
>> and
>>     fixed-value.h due to flattening of tree.h.
>>     * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>>     real.h due to flattening of tree.h.
>>     * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree.h: Flatten header files by removing all includes except
>> tree-core.h.
>>     Remove inline function convert_to_ptrofftype_loc to relocate to
>> fold-const.c.
>>     Remove macro convert_to_ptrofftype to relocate to fold-const.h.
>>     Remove inline function fold_build_pointer_plus_loc to relocate to
>> fold-const.c.
>>     Remove macro fold_build_pointer_plus to relocate to fold-const.h.
>>     Remove inline function fold_build_pointer_plus_hwi_loc to relocate to
>> fold-const.c.
>>     Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
>>     * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h
>> and
>>     fixed-value.h due to flattening of tree.h.
>>     * tree-inline.c: ditto.
>>     * tree-into-ssa.c: ditto.
>>     * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree-loop-distribution.c: ditto.
>>     * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * tree-nrv.c: ditto.
>>     * tree-object-size.c: ditto.
>>     * tree-outof-ssa.c: ditto.
>>     * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree-phinodes.c: ditto.
>>     * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * tree-pretty-print.c: ditto.
>>     * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
>>     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
>>     * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
>>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h and inchash.h due to flattening of tree.h.
>>     * tree-sra.c: Include  vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>>     inchash.h due to flattening of tree.h.
>>     * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * tree-ssa.c: ditto.
>>     * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
>>     and real.h due to flattening of tree.h.
>>     * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * tree-ssa-copy.c: ditto.
>>     * tree-ssa-copyrename.c: ditto.
>>     * tree-ssa-dce.c: ditto.
>>     * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
>>     and real.h due to flattening of tree.h.
>>     * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * tree-ssa-forwprop.c: ditto.
>>     * tree-ssa-ifcombine.c: ditto.
>>     * tree-ssa-live.c: ditto.
>>     * tree-ssa-loop.c: ditto.
>>     * tree-ssa-loop-ch.c: ditto.
>>     * tree-ssa-loop-im.c: ditto.
>>     * tree-ssa-loop-ivcanon.c: ditto.
>>     * tree-ssa-loop-ivopts.c: ditto.
>>     * tree-ssa-loop-manip.c: ditto.
>>     * tree-ssa-loop-niter.c: ditto.
>>     * tree-ssa-loop-prefetch.c: ditto.
>>     * tree-ssa-loop-unswitch.c: ditto.
>>     * tree-ssa-loop-math-opts.c: ditto.
>>     * tree-ssanames.c: ditto.
>>     * tree-ssa-operands.c: ditto.
>>     * tree-ssa-phiopt.c: ditto.
>>     * tree-ssa-phiprop.c: ditto.
>>     * tree-ssa-pre.c: ditto.
>>     * tree-ssa-propagate.c: ditto.
>>     * tree-ssa-reassoc.c: ditto.
>>     * tree-ssa-sccvn.c: ditto.
>>     * tree-ssa-sink.c: ditto.
>>     * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
>>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h and inchash.h due to flattening of tree.h.
>>     * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
>>     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
>>     * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
>>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h and inchash.h due to flattening of tree.h.
>>     * tree-ssa-ter.c: ditto.
>>     * tree-ssa-threadedge.c: ditto.
>>     * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
>>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h and inchash.h due to flattening of tree.h.
>>     * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
>>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>>     wide-int.h and inchash.h due to flattening of tree.h.
>>     * tree-ssa-uninit.c: ditto.
>>     * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
>>     symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
>>     of tree.h.
>>     * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
>>     symtab.h, options.h, fold-const.h, wide-int.h and
>>     inchash.h due to flattening of tree.h.
>>     * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
>>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>>     wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
>>     of tree.h.
>>     * tree-streamer-out.c: dittoo.
>>     * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * tree-tailcall.c: ditto.
>>     * tree-vect-data-refs.c: ditto.
>>     * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h,
>> double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
>> inchash.h
>>     due to flattening of tree.h.
>>     * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * tree-vect-loop-manip.c: ditto.
>>     * tree-vectorizer.c: ditto.
>>     * tree-vect-patterns.c: ditto.
>>     * tree-vect-slp.c: ditto.
>>     * tree-vect-stmts.c: ditto.
>>     * tree-vrp.c: ditto.
>>     * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
>> inchash.h
>>     due to flattening of tree.h.
>>     * ubsan.c: ditto.
>>     * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * varasm.c: ditto.
>>     * varpool.c: ditto.
>>     * var-tracking.c: ditto.
>>     * vmsdbgout.c: ditto.
>>     * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
>> inchash.h
>>     due to flattening of tree.h.
>>     * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>>     due to flattening of tree.h.
>>     * xcoffout.c: ditto.
>>     * libcc1/plugin.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
>>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
>> inchash.h
>>     due to flattening of tree.h.
>>
>> --
>> Michael Collison
>> Linaro Toolchain Working Group
>> michael.collison@linaro.org
>>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)
  2015-01-09 21:13   ` Prathamesh Kulkarni
@ 2015-01-09 21:35     ` Jakub Jelinek
  2015-01-09 21:59       ` Prathamesh Kulkarni
  2015-01-09 22:07     ` [PATCH, committed] Fix build of jit (was Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)) David Malcolm
  2015-01-12  5:49     ` [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening (was: " Jan-Benedict Glaw
  2 siblings, 1 reply; 14+ messages in thread
From: Jakub Jelinek @ 2015-01-09 21:35 UTC (permalink / raw)
  To: Prathamesh Kulkarni
  Cc: Richard Biener, Michael Collison, gcc Patches, Andrew MacLeod, Jeff Law

On Sat, Jan 10, 2015 at 01:50:42AM +0530, Prathamesh Kulkarni wrote:
> >> I bootstrapped on x86 with all languages. I also bootstrapped on all targets
> >> listed in contrib/config-list.mk with c and c++ enabled.
> >>
> >> Is this okay for trunk?
> >
> > Ok.
> Committed as r219402 on behalf of Michael.

Please note that the GCC tree has many different ChangeLog files, so
it is incorrect to put everything into gcc/ChangeLog.  E.g. fortran/
entries belong into gcc/fortran/ChangeLog and should not have
fortran/ prefixes, etc.  I've fixed it up for this time, but please
take care about it next time.

	Jakub

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)
  2015-01-09 21:35     ` Jakub Jelinek
@ 2015-01-09 21:59       ` Prathamesh Kulkarni
  0 siblings, 0 replies; 14+ messages in thread
From: Prathamesh Kulkarni @ 2015-01-09 21:59 UTC (permalink / raw)
  To: Jakub Jelinek
  Cc: Richard Biener, Michael Collison, gcc Patches, Andrew MacLeod, Jeff Law

On 10 January 2015 at 02:58, Jakub Jelinek <jakub@redhat.com> wrote:
> On Sat, Jan 10, 2015 at 01:50:42AM +0530, Prathamesh Kulkarni wrote:
>> >> I bootstrapped on x86 with all languages. I also bootstrapped on all targets
>> >> listed in contrib/config-list.mk with c and c++ enabled.
>> >>
>> >> Is this okay for trunk?
>> >
>> > Ok.
>> Committed as r219402 on behalf of Michael.
>
> Please note that the GCC tree has many different ChangeLog files, so
> it is incorrect to put everything into gcc/ChangeLog.  E.g. fortran/
> entries belong into gcc/fortran/ChangeLog and should not have
> fortran/ prefixes, etc.  I've fixed it up for this time, but please
> take care about it next time.
Oops, sorry about that, I will take care henceforth.
Thanks for fixing it up.

Regards,
Prathamesh
>
>         Jakub

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH, committed] Fix build of jit (was Re: [PATCH] Flatten tree.h and tree-core.h (Version 3))
  2015-01-09 21:13   ` Prathamesh Kulkarni
  2015-01-09 21:35     ` Jakub Jelinek
@ 2015-01-09 22:07     ` David Malcolm
  2015-01-11 23:58       ` Prathamesh Kulkarni
  2015-01-12  5:49     ` [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening (was: " Jan-Benedict Glaw
  2 siblings, 1 reply; 14+ messages in thread
From: David Malcolm @ 2015-01-09 22:07 UTC (permalink / raw)
  To: Prathamesh Kulkarni
  Cc: Richard Biener, Michael Collison, gcc Patches, Andrew MacLeod, Jeff Law

[-- Attachment #1: Type: text/plain, Size: 47460 bytes --]

On Sat, 2015-01-10 at 01:50 +0530, Prathamesh Kulkarni wrote:
> On 9 January 2015 at 16:21, Richard Biener <richard.guenther@gmail.com> wrote:
> > On Fri, Jan 9, 2015 at 10:39 AM, Michael Collison
> > <michael.collison@linaro.org> wrote:
> >> This patch flattens tree.h and tree-core.h. This is a revised patch that
> >> does not include tree-core.h as a result of flattening.
> >>
> >> Version 3 of the patch adds the header files removed from tree-core.h to
> >> gcc-plugin.h in order to allow ggc-common.c to compile. This is a recent
> >> issue seen on trunk.
> >>
> >> I removed the includes in tree.h and tree-core.h except for the include of
> >> tree-core.h in tree.h.
> >>
> >> I modified genattrtab.c, genautomata.c, genemit.c, gengtype.c, gengtype.c,
> >> genoptinit.c, genoutput.c,
> >> genpeep.c, genpreds.c, and optc-save-gen-awk to include the the necessary
> >> include files removed from
> >> tree.h and tree-core.h when generating their respective files.
> >>
> >> I removed three inline functions from tree.h and relocated them to
> >> fold-const.c and exported them in fold-const.h. The functions are:
> >>
> >> convert_to_ptrofftype-loc
> >> fold_build_pointer_plus_loc
> >> fold_build_pointer_plus_hwi_loc
> >>
> >> All other changes include the necessary include files removed from tree.h
> >> and tree-core.h. Note the patches modifies all the front-ends.
> >>
> >> I bootstrapped on x86 with all languages. I also bootstrapped on all targets
> >> listed in contrib/config-list.mk with c and c++ enabled.
> >>
> >> Is this okay for trunk?
> >
> > Ok.
> Committed as r219402 on behalf of Michael.
> 
> Thanks,
> Prathamesh
> >
> > Thanks,
> > Richard.
> >
> >> 2014-12-24  Michael Collison  <michael.collison@linaro.org>
> >>
> >>     * genattrtab.c (write_header): Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     insn-attrtab.c.
> >>     * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h,
> >> machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     insn-automata.c.
> >>     * genemit.c (main): Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     insn-emit.c.
> >>     * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     gtype-desc.c.
> >>     * genopinit.c (main): Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     insn-opinit.c.
> >>     * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     insn-output.c.
> >>     * genpeep.c (main): Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     insn-peep.c.
> >>     * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     insn-preds.c.
> >>     * optc-save-gen-awk: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h when generating
> >>     options-save.c.
> >>     * opth-gen.awk: Change include guard from GCC_C_COMMON_H to
> >> GCC_C_COMMON_C
> >>     when generating options.h.
> >>
> >> 2014-12-24  Michael Collison  <michael.collison@linaro.org>
> >>
> >>     * ada/gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h,
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * ada/gcc-interface/decl.c: ditto.
> >>     * ada/gcc-interface/misc.c: ditto.
> >>     * ada/gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * ada/gcc-interface/trans.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
> >>     fold-const.h, wide-int.h, inchash.h due to
> >>     flattening of tree.h.
> >>     * ada/gcc-interface/utils.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h,
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * ada/gcc-interface/utils2.c: ditto.
> >>     * alias.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * asan.c: ditto.
> >>     * attribs.c: ditto.
> >>     * auto-inc-dec.c: ditto.
> >>     * auto-profile.c: ditto
> >>     * bb-reorder.c: ditto.
> >>     * bt-load.c: Include symtab.h due to flattening of tree.h.
> >>     * builtins.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * c/c-array-notation.c: ditto.
> >>     * c/c-aux-info.c: ditto.
> >>     * c/c-convert.c: ditto.
> >>     * c/c-decl.c: ditto.
> >>     * c/c-errors.c: ditto.
> >>     * c/c-lang.c: dittoxs.
> >>     * c/c-objc-common.c: ditto.
> >>     * c/c-parser.c: ditto.
> >>     * c/c-typeck.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, inchash.h, real.h and
> >>     fixed-value.h due to flattening of tree.h.
> >>     * calls.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * ccmp.c: ditto.
> >>     * c-family/array-notation-common.c: ditto.
> >>     * c-family/c-ada-spec.c: ditto.
> >>     * c-family/c-cilkplus.c: ditto.
> >>     * c-family/c-common.c: Include input.h due to flattening of tree.h.
> >>     Define macro GCC_C_COMMON_C.
> >>     * c-family/c-common.h: Flatten tree.h header files into c-common.h.
> >>     Remove include of tree-core.h.
> >>     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * c-family/c-dump.c: ditto.
> >>     * c-family/c-format.c: Flatten tree.h header files into c-common.h.
> >>     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * c-family/c-dump.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * c-family/c-format.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, inchash.h and real.h due to
> >>     flattening of tree.h.
> >>     * c-family/c-gimplify.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * c-family/cilk.c: ditto.
> >>     * c-family/c-lex.c: ditto.
> >>     * c-family/c-omp.c: ditto.
> >>     * c-family/c-opts.c: ditto.
> >>     * c-family/c-pch.c: ditto.
> >>     * c-family/c-ppoutput.c: ditto.
> >>     * c-family/c-pragma.c: ditto.
> >>     * c-family/c-pretty-print.c: ditto.
> >>     * c-family/c-semantics.c: ditto.
> >>     * c-family/c-ubsan.c: ditto.
> >>     * c-family/stub-objc.c: ditto.
> >>     * cfgbuild.c: ditto.
> >>     * cfg.c: ditto.
> >>     * cfgcleanup.c: ditto.
> >>     * cfgexpand.c: ditto.
> >>     * cfghooks.c: ditto.
> >>     * cfgloop.c: Include symtab.h, fold-const.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * cfgloopmanip.c: ditto.
> >>     * cfgrtl.c:  Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * cgraphbuild.c: ditto.
> >>     * cgraph.c: ditto.
> >>     * cgraphclones.c: ditto.
> >>     * cgraphunit.c: ditto.
> >>     * cilk-common.c: ditto.
> >>     * combine.c: ditto.
> >>     * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
> >>     * config/aarch64/aarch64-builtins.c:  Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * config/aarch64/aarch64.c: ditto.
> >>     * config/alpha/alpha.c: ditto.
> >>     * config/arc/arc.c: ditto.
> >>     * config/arm/aarch-common.c: ditto.
> >>     * config/arm/arm-builtins.c: ditto.
> >>     * config/arm/arm.c: ditto.
> >>     * config/arm/arm-c.c: ditto.
> >>     * config/avr/avr.c: ditto.
> >>     * config/avr/avr-c.c: ditto.
> >>     * config/avr/avr-log.c: ditto.
> >>     * config/bfin/bfin.c: ditto.
> >>     * config/c6x/c6x.c: ditto.
> >>     * config/cr16/cr16.c: ditto.
> >>     * config/cris/cris.c: ditto.
> >>     * config/darwin.c: ditto.
> >>     * config/darwin-c.c: ditto.
> >>     * config/default-c.c: ditto.
> >>     * config/epiphany/epiphany.c: ditto.
> >>     * config/fr30/fr30.c: ditto.
> >>     * config/frv/frv.c: ditto.
> >>     * config/glibc-c.c: ditto.
> >>     * config/h8300/h8300.c: ditto.
> >>     * config/i386/i386.c: ditto.
> >>     * config/i386/i386-c.c: ditto.
> >>     * config/i386/msformat.c: ditto.
> >>     * config/i386/winnt.c: ditto.
> >>     * config/i386/winnt-cxx.c: ditto.
> >>     * config/i386/winnt-stubs.c: ditto.
> >>     * config/ia64/ia64.c: ditto.
> >>     * config/ia64/ia64-c.c: ditto.
> >>     * config/iq2000/iq2000.c: ditto.
> >>     * config/lm32/lm32.c: Include symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * config/m32c/m32c.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * config/m32c/m32c-pragma.c: ditto.
> >>     * config/m32c/m32cr.c: ditto.
> >>     * config/m68/m68k.c: ditto.
> >>     * config/mcore/mcore.c: ditto.
> >>     * config/mep/mep.c: ditto.
> >>     * config/mep/mep-pragma.c: ditto.
> >>     * config/microblaze/microblaze.c: ditto.
> >>     * config/microblaze/microblaze-c.c: ditto.
> >>     * config/mips/mips.c: ditto.
> >>     * config/mmix/mmix.c: Include symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * config/moxie/moxie.c: ditto.
> >>     * config/msp430/msp430.c: ditto.
> >>     * config/msp430/msp430-c.c: ditto.
> >>     * config/nds32/nds32.c: ditto.
> >>     * config/nds32/nds32-cost.c: ditto.
> >>     * config/nds32/nds32-fp-as-gp.c: ditto.
> >>     * config/nds32/nds32-intrinsic.c: ditto.
> >>     * config/nds32/nds32-isr.c: ditto.
> >>     * config/nds32/nds32-md-auxillary.c: ditto.
> >>     * config/nds32/nds32-memory-manipulationx.c: ditto.
> >>     * config/nds32/nds32-pipelines-auxillary.c: ditto.
> >>     * config/nds32/nds32-predicates.c: ditto.
> >>     * config/nios2/nios2.c: ditto.
> >>     * config/nvptx/nvptx.c: ditto.
> >>     * config/pa/pa.c: ditto.
> >>     * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * config/rl78/rl78.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * config/rl78/rl78-cx.c: ditto.
> >>     * config/rs6000/rs6000.c: ditto.
> >>     * config/rs6000/rs6000-c.c: ditto.
> >>     * config/rx/rx.c: ditto.
> >>     * config/s390/s390.c: ditto.
> >>     * config/sh/sh.c: ditto.
> >>     * config/sh/sc.c: ditto.
> >>     * config/sh/sh-mem.cc: ditto.
> >>     * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
> >>     due to flattening of tree.h.
> >>     Remove include of tree-core.h.
> >>     * config/sol2.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * config/sol2-c.c: ditto.
> >>     * config/sol2-cxx.c: ditto.
> >>     * config/sol2-stubs.c: ditto.
> >>     * config/sparc/sparc.c: ditto.
> >>     * config/sparc/sparc-cx.c: ditto.
> >>     * config/spu/spu.c: ditto.
> >>     * config/spu/spu-c.c: ditto
> >>     * config/storym16/stormy16.c: ditto.
> >>     * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
> >>     * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
> >>     fold-const.h, wide-int.h, and inchash.h due to
> >>     flattening of tree.h.
> >>     * config/v850/v850.c: ditto.
> >>     * config/v850/v850-c.c: ditto.
> >>     * config/vax/vax.c: ditto.
> >>     * config/vms/vms.c: ditto.
> >>     * config/vms/vms-c.c: ditto.
> >>     * config/vxworks.c: ditto.
> >>     * config/winnt-c.c: ditto.
> >>     * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * coverage.c: ditto.
> >>     * cp/call.c: ditto.
> >>     * cp/class.c: ditto.
> >>     * cp/constexpr.c: ditto.
> >>     * cp/cp-array-notation.c: ditto.
> >>     * cp/cp-gimplify.c: ditto.
> >>     * cp/cp-lang.c: ditto.
> >>     * cp/cp-objcp-common.c: ditto.
> >>     * cp/cvt.c: ditto.
> >>     * cp/decl2.c: ditto.
> >>     * cp/decl.c: ditto.
> >>     * cp/dump.c: ditto.
> >>     * cp/error.c: ditto.
> >>     * cp/except.c: ditto.
> >>     * cp/expr.c: ditto.
> >>     * cp/friend.c: ditto.
> >>     * cp/init.c: ditto.
> >>     * cp/lambda.c: ditto.
> >>     * cp/lex.c: ditto.
> >>     * cp/mangle.c: ditto.
> >>     * cp/name-lookup.c: ditto.
> >>     * cp/optimize.c: ditto.
> >>     * cp/parser.c: ditto.
> >>     * cp/pt.c: ditto.
> >>     * cp/ptree.c: ditto.
> >>     * cp/repo.c: ditto.
> >>     * cp/rtti.c: ditto.
> >>     * cp/search.c: ditto.
> >>     * cp/semantics.c: ditto.
> >>     * cp/tree.c: ditto.
> >>     * cp/typeck2.c: ditto.
> >>     * cp/typeck.c: ditto.
> >>     * cppbuiltin.c: ditto.
> >>     * cprop.c: ditto.
> >>     * cse.c: Add include of symtab.h due to flattening of tree.h.
> >>     * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * data-streamer.c: ditto.
> >>     * data-streamer-in.c: ditto.
> >>     * data-streamer-out.c: ditto.
> >>     * dbxout.c: ditto.
> >>     * dce.c: ditto.
> >>     * ddg.c: Add include of symtab.h due to flattening of tree.h.
> >>     * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * dfp.c: ditto.
> >>     * df-scan.c: ditto.
> >>     * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
> >>     * double-int.c: ditto.
> >>     * dse.c: ditto.
> >>     * dumpfile.c: ditto.
> >>     * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
> >>     * dwarf2cfi.c: ditto.
> >>     * dwarf2out.c: ditto.
> >>     * emit-rtl.c: ditto.
> >>     * except.c: ditto.
> >>     * explow.c: ditto.
> >>     * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * expr.c: ditto.
> >>     * final.c: ditto.
> >>     * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
> >>     * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     Relocate inline function convert_to_ptrofftype_loc from tree.h.
> >>     Relocate inline function fold_build_pointer_plus_loc from tree.h.
> >>     Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
> >>     * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
> >>     Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
> >>     Relocate macro fold_build_pointer_plus_hwi from tree.h.
> >>     Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
> >>     Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
> >>     Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
> >>     * fortran/convert.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/decl.c: ditto.
> >>     * fortran/f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/iresolve.c: ditto.
> >>     * fortran/match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/options.c: ditto.
> >>     * fortran/target-memory.c: Include hash-set.h, vec.h,
> >>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/trans-array.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/trans-common.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/trans-const.c: ditto.
> >>     * fortran/trans-decl.c: ditto.
> >>     * fortran/trans-expr.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
> >>     * fortran/trans-io.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * fortran/trans-openmp.c: ditto.
> >>     * fortran/trans-stmt.c: ditto.
> >>     * fortran/trans-types.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
> >>     * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * gcc-plugin.h: Include statistics.h, double-int.h, real.h,
> >> fixed-value.h,
> >>     alias.h, flags.h, and symtab.h due to flattening of tree.h
> >>     * gcse.c: ditto.
> >>     * generic-match-head.c:  Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ggc-page.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * gimple-builder.c: ditto.
> >>     * gimple.c: ditto.
> >>     * gimple-expr.c: ditto.
> >>     * gimple-fold.c: ditto.
> >>     * gimple-iterator.c: ditto.
> >>     * gimple-low.c: ditto.
> >>     * gimple-match-head.c: ditto.
> >>     * gimple-pretty-print.c: ditto.
> >>     * generic-ssa-isolate-paths.c:  Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * gimple-ssa-strength-reduction.c: ditto.
> >>     * gimple-streamer-in.c: ditto.
> >>     * gimple-streamer-out.c: ditto.
> >>     * gimple-walk.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * gimplify.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * gimplify-me.c: ditto.
> >>     * go/go-gcc.cc: ditto.
> >>     * go/go-lang.c: ditto.
> >>     * go/gdump.c: ditto.
> >>     * graphite-blocking.c: ditto.
> >>     * graphite.c: ditto.
> >>     * graphite-dependencies.c: ditto.
> >>     * graphite-interchange.c: ditto.
> >>     * graphite-isl-ast-to-gimple.c: ditto.
> >>     * graphite-optimize-isl.c: ditto.
> >>     * graphite-poly.c: ditto.
> >>     * graphite-scop-detection.c: ditto.
> >>     * graphite-sese-to-poly.c: ditto.
> >>     * hw-doloop.c: Include symtab.h due to flattening of tree.h.
> >>     * ifcvt.c: ditto.
> >>     * init-regs.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h,options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa.c: ditto.
> >>     * ipa-chkp.c: ditto.
> >>     * ipa-comdats.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h,options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa-devirt.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h,options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa-icf-gimple.c: ditto.
> >>     * ipa-inline-analysis.c:  Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa-inline.c: ditto.
> >>     * ipa-inline-transform.c: ditto.
> >>     * ipa-polymorhpic-call.c: ditto.
> >>     * ipa-profile.c: ditto.
> >>     * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ipa-reference.c: ditto.
> >>     * ipa-split.c: ditto.
> >>     * ipa-utils.c: ditto.
> >>     * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * ira.c: ditto.
> >>     * ira-color.c: Include hash-set.h due to flattening of tree.h.
> >>     * ira-costs.c: ditto.
> >>     * ira-emit.c: ditto.
> >>     * java/boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * java/builtins.c: ditto.
> >>     * java/class.c: ditto.
> >>     * java/constants.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * java/decl.c: ditto.
> >>     * java/except.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * java/expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h,inchash.h and real.h due to flattening of tree.h.
> >>     * java/gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * java/jcf-dump.c: ditto.
> >>     * java/jcf-io.c: ditto.
> >>     * java/jcf-parse.c: ditto.
> >>     * java/jvgenmain.c: ditto.
> >>     * java/lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * java/mangle.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * java/mangle_name.c: ditto.
> >>     * java/resource.c: ditto.
> >>     * java/typeck.c: ditto.
> >>     * java/verify-glue.c: ditto.
> >>     * java/verify-impl.c: ditto.
> >>     * jump.c: Include symtab.h due to flattening of tree.h.
> >>     * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * loop-doloop.c: Include symtab.h due to flattening of tree.h.
> >>     * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * loop-invariant.c: Include symtab.h due to flattening of tree.h.
> >>     * loop-iv.c: ditto.
> >>     * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * lower-subreg.c: ditto.
> >>     * lra-assigns.c: Include symtab.h due to flattening of tree.h.
> >>     * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
> >>     * lra-constraints.c: ditto.
> >>     * lra-eliminations.c: ditto.
> >>     * lra-livesc: ditto.
> >>     * lra-remat.c: ditto.
> >>     * lra-spills.c: ditto.
> >>     * lto/lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * lto/lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * lto/lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * lto/lto-partition.c: ditto.
> >>     * lto/lto-symtab.c: ditto.
> >>     * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * lto-opts.c: ditto.
> >>     * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * lto-section-out.c: ditto.
> >>     * lto-streamer.c: ditto.
> >>     * lto-streamer-in.c: ditto.
> >>     * lto-streamer-out.c: ditto.
> >>     * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * objc/objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options, fold-const.h,
> >>     wide-int.h, and inchash.h due to flattening of tree.h.
> >>     * objc/objc-encoding.c: ditto.
> >>     * objc/objc-gnu-runtime-abi-01.c: ditto.
> >>     * objc/objc-lang.c: ditto.
> >>     * objc/objc-map.c: ditto.
> >>     * objc/objc-next-runtime-abi-01.c: ditto.
> >>     * objc/objc-next-runtime-abi-02.c: ditto.
> >>     * objc/objc-runtime-shared-support.c: ditto.
> >>     * objcp/objcp-decl.c: ditto.
> >>     * objcp/objcp-lang.c: ditto.
> >>     * omega.c: ditto.
> >>     * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * optabs.c: ditto.
> >>     * opts-global.c: ditto.
> >>     * passes.c: ditto.
> >>     * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * postreload.c: Include symtab.h due to flattening of tree.h.
> >>     * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * predict.c: ditto.
> >>     * print-rtl.c: ditto.
> >>     * print-tree.c: ditto.
> >>     * profile.c: Include symtab.h, fold-const.h
> >>     and inchash.h due to flattening of tree.h.
> >>     * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * ree.c: ditto.
> >>     * reginfo.c: ditto.
> >>     * reg-stack.c: ditto.
> >>     * reload1.c: Include symtab.h, fold-const.h, wide-int.h
> >>     and inchash.h due to flattening of tree.h.
> >>     * reload.c: Include symtab.h due to flattening of tree.h.
> >>     * reorg.c: ditto.
> >>     * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
> >>     and inchash.h due to flattening of tree.h.
> >>     * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * rtlhooks.c: Include symtab.h due to flattening of tree.h.
> >>     * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * sched-vis.c: ditto.
> >>     * sdbout.c: ditto.
> >>     * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
> >>     and inchash.h due to flattening of tree.h.
> >>     * sel-sched-ir.c: ditto.
> >>     * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * stack-ptr-mod.c: ditto.
> >>     * stmt.c: ditto.
> >>     * store-motion.c: ditto.
> >>     * store-layout.c: ditto.
> >>     * stringpool.c: ditto.
> >>     * symtab.c: ditto.
> >>     * target-globals.c: ditto.
> >>     * targhooks.c: ditto.
> >>     * toplev.c: ditto.
> >>     * tracer.c: ditto.
> >>     * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-affine.c: ditto.
> >>     * tree-browser.c: ditto.
> >>     * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
> >>     fold-const.h, wide-int.h, inchash.h and real.h due to
> >>     flattening of tree.h.
> >>     * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-cfgcleanup.c: ditto.
> >>     * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-chkp-opt.c: ditto.
> >>     * tree-chrec.c: ditto.
> >>     * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
> >>     real.h due to flattening of tree.h.
> >>     * tree-core.h: Flatten header file by removing all #include statements.
> >>     * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
> >>     real.h due to flattening of tree.h.
> >>     * tree-diagnostic.c: ditto.
> >>     * tree-dump.c: * tree-dfa.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h
> >> and
> >>     fixed-value.h due to flattening of tree.h.
> >>     * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
> >>     real.h due to flattening of tree.h.
> >>     * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree.h: Flatten header files by removing all includes except
> >> tree-core.h.
> >>     Remove inline function convert_to_ptrofftype_loc to relocate to
> >> fold-const.c.
> >>     Remove macro convert_to_ptrofftype to relocate to fold-const.h.
> >>     Remove inline function fold_build_pointer_plus_loc to relocate to
> >> fold-const.c.
> >>     Remove macro fold_build_pointer_plus to relocate to fold-const.h.
> >>     Remove inline function fold_build_pointer_plus_hwi_loc to relocate to
> >> fold-const.c.
> >>     Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
> >>     * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h
> >> and
> >>     fixed-value.h due to flattening of tree.h.
> >>     * tree-inline.c: ditto.
> >>     * tree-into-ssa.c: ditto.
> >>     * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-loop-distribution.c: ditto.
> >>     * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * tree-nrv.c: ditto.
> >>     * tree-object-size.c: ditto.
> >>     * tree-outof-ssa.c: ditto.
> >>     * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-phinodes.c: ditto.
> >>     * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * tree-pretty-print.c: ditto.
> >>     * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
> >>     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
> >>     * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
> >>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h and inchash.h due to flattening of tree.h.
> >>     * tree-sra.c: Include  vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * tree-ssa.c: ditto.
> >>     * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
> >>     and real.h due to flattening of tree.h.
> >>     * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * tree-ssa-copy.c: ditto.
> >>     * tree-ssa-copyrename.c: ditto.
> >>     * tree-ssa-dce.c: ditto.
> >>     * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
> >>     and real.h due to flattening of tree.h.
> >>     * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * tree-ssa-forwprop.c: ditto.
> >>     * tree-ssa-ifcombine.c: ditto.
> >>     * tree-ssa-live.c: ditto.
> >>     * tree-ssa-loop.c: ditto.
> >>     * tree-ssa-loop-ch.c: ditto.
> >>     * tree-ssa-loop-im.c: ditto.
> >>     * tree-ssa-loop-ivcanon.c: ditto.
> >>     * tree-ssa-loop-ivopts.c: ditto.
> >>     * tree-ssa-loop-manip.c: ditto.
> >>     * tree-ssa-loop-niter.c: ditto.
> >>     * tree-ssa-loop-prefetch.c: ditto.
> >>     * tree-ssa-loop-unswitch.c: ditto.
> >>     * tree-ssa-loop-math-opts.c: ditto.
> >>     * tree-ssanames.c: ditto.
> >>     * tree-ssa-operands.c: ditto.
> >>     * tree-ssa-phiopt.c: ditto.
> >>     * tree-ssa-phiprop.c: ditto.
> >>     * tree-ssa-pre.c: ditto.
> >>     * tree-ssa-propagate.c: ditto.
> >>     * tree-ssa-reassoc.c: ditto.
> >>     * tree-ssa-sccvn.c: ditto.
> >>     * tree-ssa-sink.c: ditto.
> >>     * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
> >>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h and inchash.h due to flattening of tree.h.
> >>     * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
> >>     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
> >>     * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
> >>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h and inchash.h due to flattening of tree.h.
> >>     * tree-ssa-ter.c: ditto.
> >>     * tree-ssa-threadedge.c: ditto.
> >>     * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
> >>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h and inchash.h due to flattening of tree.h.
> >>     * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
> >>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
> >>     wide-int.h and inchash.h due to flattening of tree.h.
> >>     * tree-ssa-uninit.c: ditto.
> >>     * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
> >>     symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
> >>     of tree.h.
> >>     * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
> >>     symtab.h, options.h, fold-const.h, wide-int.h and
> >>     inchash.h due to flattening of tree.h.
> >>     * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
> >>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
> >>     wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
> >>     of tree.h.
> >>     * tree-streamer-out.c: dittoo.
> >>     * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * tree-tailcall.c: ditto.
> >>     * tree-vect-data-refs.c: ditto.
> >>     * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h,
> >> double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
> >> inchash.h
> >>     due to flattening of tree.h.
> >>     * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * tree-vect-loop-manip.c: ditto.
> >>     * tree-vectorizer.c: ditto.
> >>     * tree-vect-patterns.c: ditto.
> >>     * tree-vect-slp.c: ditto.
> >>     * tree-vect-stmts.c: ditto.
> >>     * tree-vrp.c: ditto.
> >>     * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
> >> inchash.h
> >>     due to flattening of tree.h.
> >>     * ubsan.c: ditto.
> >>     * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * varasm.c: ditto.
> >>     * varpool.c: ditto.
> >>     * var-tracking.c: ditto.
> >>     * vmsdbgout.c: ditto.
> >>     * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
> >> inchash.h
> >>     due to flattening of tree.h.
> >>     * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
> >>     due to flattening of tree.h.
> >>     * xcoffout.c: ditto.
> >>     * libcc1/plugin.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
> >> inchash.h
> >>     due to flattening of tree.h.

Which languages was this tested with?

This broke the build of the jit, with dozens of errors e.g.:

In file included from ../../src/gcc/tree.h:23:0,
                 from ../../src/gcc/jit/jit-common.h:26,
                 from ../../src/gcc/jit/jit-logging.h:24,
                 from ../../src/gcc/jit/jit-logging.c:25:
../../src/gcc/tree-core.h:171:9: error: ‘MAX_MODE_COMPLEX_FLOAT’ was not
declared in this scope
       + MAX_MODE_COMPLEX_FLOAT
         ^

I've fixed it with the attached; tested with "make check-jit", with
jit.sum having:
  # of expected passes  7152

Committed to trunk as r219411.

[-- Attachment #2: r219411.patch --]
[-- Type: text/x-patch, Size: 3963 bytes --]

Index: gcc/jit/jit-recording.c
===================================================================
--- gcc/jit/jit-recording.c	(revision 219410)
+++ gcc/jit/jit-recording.c	(revision 219411)
@@ -22,8 +22,6 @@
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "opts.h"
-#include "tree.h"
 #include "pretty-print.h"
 
 #include <pthread.h>
Index: gcc/jit/ChangeLog
===================================================================
--- gcc/jit/ChangeLog	(revision 219410)
+++ gcc/jit/ChangeLog	(revision 219411)
@@ -1,5 +1,22 @@
 2015-01-09  David Malcolm  <dmalcolm@redhat.com>
 
+	* dummy-frontend.c: Include "fixed-value.h", "alias.h", "flags.h",
+	"symtab.h", "inchash.h".  Move include of "hash-set.h" much
+	earlier.
+	* jit-builtins.c: Remove redundant includes of "opts.h" and
+	"tree.h".
+	* jit-common.h: Include "hash-set.h", "input.h", "vec.h",
+	"double-int.h", "alias.h", "flags.h", "symtab.h", "inchash.h".
+	* jit-playback.c: Include "hashtab.h", "machmode.h", "input.h",
+	"statistics.h", "vec.h", "double-int.h", "real.h",
+	"fixed-value.h", "alias.h", "flags.h", "symtab.h", "tree-core.h",
+	"inchash.h", "fold-const.h".  Move include of "hash-set.h" to
+	earlier.
+	* jit-recording.c: Remove redundant includes of "opts.h" and
+	"tree.h".
+
+2015-01-09  David Malcolm  <dmalcolm@redhat.com>
+
 	* docs/cp/topics/expressions.rst (Simple expressions): Use
 	":c:type:" for C types.  Document new overload of
 	gcc::jit::context::new_rvalue.
Index: gcc/jit/dummy-frontend.c
===================================================================
--- gcc/jit/dummy-frontend.c	(revision 219410)
+++ gcc/jit/dummy-frontend.c	(revision 219411)
@@ -22,8 +22,14 @@
 #include "coretypes.h"
 #include "opts.h"
 #include "signop.h"
+#include "hash-set.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "flags.h"
+#include "symtab.h"
 #include "tree-core.h"
 #include "stor-layout.h"
+#include "inchash.h"
 #include "tree.h"
 #include "debug.h"
 #include "langhooks.h"
@@ -33,7 +39,6 @@
 #include "plugin-api.h"
 #include "vec.h"
 #include "hashtab.h"
-#include "hash-set.h"
 #include "machmode.h"
 #include "tm.h"
 #include "hard-reg-set.h"
Index: gcc/jit/jit-playback.c
===================================================================
--- gcc/jit/jit-playback.c	(revision 219410)
+++ gcc/jit/jit-playback.c	(revision 219411)
@@ -22,6 +22,20 @@
 #include "system.h"
 #include "coretypes.h"
 #include "opts.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "machmode.h"
+#include "input.h"
+#include "statistics.h"
+#include "vec.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "flags.h"
+#include "symtab.h"
+#include "tree-core.h"
+#include "inchash.h"
 #include "tree.h"
 #include "hash-map.h"
 #include "is-a.h"
@@ -28,7 +42,6 @@
 #include "plugin-api.h"
 #include "vec.h"
 #include "hashtab.h"
-#include "hash-set.h"
 #include "machmode.h"
 #include "tm.h"
 #include "hard-reg-set.h"
@@ -48,6 +61,7 @@
 #include "gcc-driver-name.h"
 #include "attribs.h"
 #include "context.h"
+#include "fold-const.h"
 
 #include "jit-common.h"
 #include "jit-logging.h"
Index: gcc/jit/jit-builtins.c
===================================================================
--- gcc/jit/jit-builtins.c	(revision 219410)
+++ gcc/jit/jit-builtins.c	(revision 219411)
@@ -20,8 +20,6 @@
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "opts.h"
-#include "tree.h"
 #include "target.h"
 #include "stringpool.h"
 
Index: gcc/jit/jit-common.h
===================================================================
--- gcc/jit/jit-common.h	(revision 219410)
+++ gcc/jit/jit-common.h	(revision 219411)
@@ -23,6 +23,14 @@
 
 #include "libgccjit.h"
 
+#include "hash-set.h"
+#include "input.h"
+#include "vec.h"
+#include "double-int.h"
+#include "alias.h"
+#include "flags.h"
+#include "symtab.h"
+#include "inchash.h"
 #include "tree.h"
 #include "tree-iterator.h"
 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH, committed] Fix build of jit (was Re: [PATCH] Flatten tree.h and tree-core.h (Version 3))
  2015-01-09 22:07     ` [PATCH, committed] Fix build of jit (was Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)) David Malcolm
@ 2015-01-11 23:58       ` Prathamesh Kulkarni
  2015-01-12 18:56         ` Mike Stump
  0 siblings, 1 reply; 14+ messages in thread
From: Prathamesh Kulkarni @ 2015-01-11 23:58 UTC (permalink / raw)
  To: David Malcolm; +Cc: gcc Patches

On 10 January 2015 at 03:17, David Malcolm <dmalcolm@redhat.com> wrote:
> On Sat, 2015-01-10 at 01:50 +0530, Prathamesh Kulkarni wrote:
>> On 9 January 2015 at 16:21, Richard Biener <richard.guenther@gmail.com> wrote:
>> > On Fri, Jan 9, 2015 at 10:39 AM, Michael Collison
>> > <michael.collison@linaro.org> wrote:
>> >> This patch flattens tree.h and tree-core.h. This is a revised patch that
>> >> does not include tree-core.h as a result of flattening.
>> >>
>> >> Version 3 of the patch adds the header files removed from tree-core.h to
>> >> gcc-plugin.h in order to allow ggc-common.c to compile. This is a recent
>> >> issue seen on trunk.
>> >>
>> >> I removed the includes in tree.h and tree-core.h except for the include of
>> >> tree-core.h in tree.h.
>> >>
>> >> I modified genattrtab.c, genautomata.c, genemit.c, gengtype.c, gengtype.c,
>> >> genoptinit.c, genoutput.c,
>> >> genpeep.c, genpreds.c, and optc-save-gen-awk to include the the necessary
>> >> include files removed from
>> >> tree.h and tree-core.h when generating their respective files.
>> >>
>> >> I removed three inline functions from tree.h and relocated them to
>> >> fold-const.c and exported them in fold-const.h. The functions are:
>> >>
>> >> convert_to_ptrofftype-loc
>> >> fold_build_pointer_plus_loc
>> >> fold_build_pointer_plus_hwi_loc
>> >>
>> >> All other changes include the necessary include files removed from tree.h
>> >> and tree-core.h. Note the patches modifies all the front-ends.
>> >>
>> >> I bootstrapped on x86 with all languages. I also bootstrapped on all targets
>> >> listed in contrib/config-list.mk with c and c++ enabled.
>> >>
>> >> Is this okay for trunk?
>> >
>> > Ok.
>> Committed as r219402 on behalf of Michael.
>>
>> Thanks,
>> Prathamesh
>> >
>> > Thanks,
>> > Richard.
>> >
>> >> 2014-12-24  Michael Collison  <michael.collison@linaro.org>
>> >>
>> >>     * genattrtab.c (write_header): Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     insn-attrtab.c.
>> >>     * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h,
>> >> machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     insn-automata.c.
>> >>     * genemit.c (main): Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     insn-emit.c.
>> >>     * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     gtype-desc.c.
>> >>     * genopinit.c (main): Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     insn-opinit.c.
>> >>     * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     insn-output.c.
>> >>     * genpeep.c (main): Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     insn-peep.c.
>> >>     * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     insn-preds.c.
>> >>     * optc-save-gen-awk: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h when generating
>> >>     options-save.c.
>> >>     * opth-gen.awk: Change include guard from GCC_C_COMMON_H to
>> >> GCC_C_COMMON_C
>> >>     when generating options.h.
>> >>
>> >> 2014-12-24  Michael Collison  <michael.collison@linaro.org>
>> >>
>> >>     * ada/gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h,
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * ada/gcc-interface/decl.c: ditto.
>> >>     * ada/gcc-interface/misc.c: ditto.
>> >>     * ada/gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * ada/gcc-interface/trans.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
>> >>     fold-const.h, wide-int.h, inchash.h due to
>> >>     flattening of tree.h.
>> >>     * ada/gcc-interface/utils.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h,
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * ada/gcc-interface/utils2.c: ditto.
>> >>     * alias.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * asan.c: ditto.
>> >>     * attribs.c: ditto.
>> >>     * auto-inc-dec.c: ditto.
>> >>     * auto-profile.c: ditto
>> >>     * bb-reorder.c: ditto.
>> >>     * bt-load.c: Include symtab.h due to flattening of tree.h.
>> >>     * builtins.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * c/c-array-notation.c: ditto.
>> >>     * c/c-aux-info.c: ditto.
>> >>     * c/c-convert.c: ditto.
>> >>     * c/c-decl.c: ditto.
>> >>     * c/c-errors.c: ditto.
>> >>     * c/c-lang.c: dittoxs.
>> >>     * c/c-objc-common.c: ditto.
>> >>     * c/c-parser.c: ditto.
>> >>     * c/c-typeck.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, inchash.h, real.h and
>> >>     fixed-value.h due to flattening of tree.h.
>> >>     * calls.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * ccmp.c: ditto.
>> >>     * c-family/array-notation-common.c: ditto.
>> >>     * c-family/c-ada-spec.c: ditto.
>> >>     * c-family/c-cilkplus.c: ditto.
>> >>     * c-family/c-common.c: Include input.h due to flattening of tree.h.
>> >>     Define macro GCC_C_COMMON_C.
>> >>     * c-family/c-common.h: Flatten tree.h header files into c-common.h.
>> >>     Remove include of tree-core.h.
>> >>     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * c-family/c-dump.c: ditto.
>> >>     * c-family/c-format.c: Flatten tree.h header files into c-common.h.
>> >>     * c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * c-family/c-dump.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * c-family/c-format.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, inchash.h and real.h due to
>> >>     flattening of tree.h.
>> >>     * c-family/c-gimplify.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * c-family/cilk.c: ditto.
>> >>     * c-family/c-lex.c: ditto.
>> >>     * c-family/c-omp.c: ditto.
>> >>     * c-family/c-opts.c: ditto.
>> >>     * c-family/c-pch.c: ditto.
>> >>     * c-family/c-ppoutput.c: ditto.
>> >>     * c-family/c-pragma.c: ditto.
>> >>     * c-family/c-pretty-print.c: ditto.
>> >>     * c-family/c-semantics.c: ditto.
>> >>     * c-family/c-ubsan.c: ditto.
>> >>     * c-family/stub-objc.c: ditto.
>> >>     * cfgbuild.c: ditto.
>> >>     * cfg.c: ditto.
>> >>     * cfgcleanup.c: ditto.
>> >>     * cfgexpand.c: ditto.
>> >>     * cfghooks.c: ditto.
>> >>     * cfgloop.c: Include symtab.h, fold-const.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * cfgloopmanip.c: ditto.
>> >>     * cfgrtl.c:  Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * cgraphbuild.c: ditto.
>> >>     * cgraph.c: ditto.
>> >>     * cgraphclones.c: ditto.
>> >>     * cgraphunit.c: ditto.
>> >>     * cilk-common.c: ditto.
>> >>     * combine.c: ditto.
>> >>     * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
>> >>     * config/aarch64/aarch64-builtins.c:  Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * config/aarch64/aarch64.c: ditto.
>> >>     * config/alpha/alpha.c: ditto.
>> >>     * config/arc/arc.c: ditto.
>> >>     * config/arm/aarch-common.c: ditto.
>> >>     * config/arm/arm-builtins.c: ditto.
>> >>     * config/arm/arm.c: ditto.
>> >>     * config/arm/arm-c.c: ditto.
>> >>     * config/avr/avr.c: ditto.
>> >>     * config/avr/avr-c.c: ditto.
>> >>     * config/avr/avr-log.c: ditto.
>> >>     * config/bfin/bfin.c: ditto.
>> >>     * config/c6x/c6x.c: ditto.
>> >>     * config/cr16/cr16.c: ditto.
>> >>     * config/cris/cris.c: ditto.
>> >>     * config/darwin.c: ditto.
>> >>     * config/darwin-c.c: ditto.
>> >>     * config/default-c.c: ditto.
>> >>     * config/epiphany/epiphany.c: ditto.
>> >>     * config/fr30/fr30.c: ditto.
>> >>     * config/frv/frv.c: ditto.
>> >>     * config/glibc-c.c: ditto.
>> >>     * config/h8300/h8300.c: ditto.
>> >>     * config/i386/i386.c: ditto.
>> >>     * config/i386/i386-c.c: ditto.
>> >>     * config/i386/msformat.c: ditto.
>> >>     * config/i386/winnt.c: ditto.
>> >>     * config/i386/winnt-cxx.c: ditto.
>> >>     * config/i386/winnt-stubs.c: ditto.
>> >>     * config/ia64/ia64.c: ditto.
>> >>     * config/ia64/ia64-c.c: ditto.
>> >>     * config/iq2000/iq2000.c: ditto.
>> >>     * config/lm32/lm32.c: Include symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * config/m32c/m32c.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * config/m32c/m32c-pragma.c: ditto.
>> >>     * config/m32c/m32cr.c: ditto.
>> >>     * config/m68/m68k.c: ditto.
>> >>     * config/mcore/mcore.c: ditto.
>> >>     * config/mep/mep.c: ditto.
>> >>     * config/mep/mep-pragma.c: ditto.
>> >>     * config/microblaze/microblaze.c: ditto.
>> >>     * config/microblaze/microblaze-c.c: ditto.
>> >>     * config/mips/mips.c: ditto.
>> >>     * config/mmix/mmix.c: Include symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * config/moxie/moxie.c: ditto.
>> >>     * config/msp430/msp430.c: ditto.
>> >>     * config/msp430/msp430-c.c: ditto.
>> >>     * config/nds32/nds32.c: ditto.
>> >>     * config/nds32/nds32-cost.c: ditto.
>> >>     * config/nds32/nds32-fp-as-gp.c: ditto.
>> >>     * config/nds32/nds32-intrinsic.c: ditto.
>> >>     * config/nds32/nds32-isr.c: ditto.
>> >>     * config/nds32/nds32-md-auxillary.c: ditto.
>> >>     * config/nds32/nds32-memory-manipulationx.c: ditto.
>> >>     * config/nds32/nds32-pipelines-auxillary.c: ditto.
>> >>     * config/nds32/nds32-predicates.c: ditto.
>> >>     * config/nios2/nios2.c: ditto.
>> >>     * config/nvptx/nvptx.c: ditto.
>> >>     * config/pa/pa.c: ditto.
>> >>     * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * config/rl78/rl78.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * config/rl78/rl78-cx.c: ditto.
>> >>     * config/rs6000/rs6000.c: ditto.
>> >>     * config/rs6000/rs6000-c.c: ditto.
>> >>     * config/rx/rx.c: ditto.
>> >>     * config/s390/s390.c: ditto.
>> >>     * config/sh/sh.c: ditto.
>> >>     * config/sh/sc.c: ditto.
>> >>     * config/sh/sh-mem.cc: ditto.
>> >>     * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
>> >>     due to flattening of tree.h.
>> >>     Remove include of tree-core.h.
>> >>     * config/sol2.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * config/sol2-c.c: ditto.
>> >>     * config/sol2-cxx.c: ditto.
>> >>     * config/sol2-stubs.c: ditto.
>> >>     * config/sparc/sparc.c: ditto.
>> >>     * config/sparc/sparc-cx.c: ditto.
>> >>     * config/spu/spu.c: ditto.
>> >>     * config/spu/spu-c.c: ditto
>> >>     * config/storym16/stormy16.c: ditto.
>> >>     * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
>> >>     * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
>> >>     vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
>> >>     fold-const.h, wide-int.h, and inchash.h due to
>> >>     flattening of tree.h.
>> >>     * config/v850/v850.c: ditto.
>> >>     * config/v850/v850-c.c: ditto.
>> >>     * config/vax/vax.c: ditto.
>> >>     * config/vms/vms.c: ditto.
>> >>     * config/vms/vms-c.c: ditto.
>> >>     * config/vxworks.c: ditto.
>> >>     * config/winnt-c.c: ditto.
>> >>     * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * coverage.c: ditto.
>> >>     * cp/call.c: ditto.
>> >>     * cp/class.c: ditto.
>> >>     * cp/constexpr.c: ditto.
>> >>     * cp/cp-array-notation.c: ditto.
>> >>     * cp/cp-gimplify.c: ditto.
>> >>     * cp/cp-lang.c: ditto.
>> >>     * cp/cp-objcp-common.c: ditto.
>> >>     * cp/cvt.c: ditto.
>> >>     * cp/decl2.c: ditto.
>> >>     * cp/decl.c: ditto.
>> >>     * cp/dump.c: ditto.
>> >>     * cp/error.c: ditto.
>> >>     * cp/except.c: ditto.
>> >>     * cp/expr.c: ditto.
>> >>     * cp/friend.c: ditto.
>> >>     * cp/init.c: ditto.
>> >>     * cp/lambda.c: ditto.
>> >>     * cp/lex.c: ditto.
>> >>     * cp/mangle.c: ditto.
>> >>     * cp/name-lookup.c: ditto.
>> >>     * cp/optimize.c: ditto.
>> >>     * cp/parser.c: ditto.
>> >>     * cp/pt.c: ditto.
>> >>     * cp/ptree.c: ditto.
>> >>     * cp/repo.c: ditto.
>> >>     * cp/rtti.c: ditto.
>> >>     * cp/search.c: ditto.
>> >>     * cp/semantics.c: ditto.
>> >>     * cp/tree.c: ditto.
>> >>     * cp/typeck2.c: ditto.
>> >>     * cp/typeck.c: ditto.
>> >>     * cppbuiltin.c: ditto.
>> >>     * cprop.c: ditto.
>> >>     * cse.c: Add include of symtab.h due to flattening of tree.h.
>> >>     * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * data-streamer.c: ditto.
>> >>     * data-streamer-in.c: ditto.
>> >>     * data-streamer-out.c: ditto.
>> >>     * dbxout.c: ditto.
>> >>     * dce.c: ditto.
>> >>     * ddg.c: Add include of symtab.h due to flattening of tree.h.
>> >>     * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * dfp.c: ditto.
>> >>     * df-scan.c: ditto.
>> >>     * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>> >>     * double-int.c: ditto.
>> >>     * dse.c: ditto.
>> >>     * dumpfile.c: ditto.
>> >>     * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>> >>     * dwarf2cfi.c: ditto.
>> >>     * dwarf2out.c: ditto.
>> >>     * emit-rtl.c: ditto.
>> >>     * except.c: ditto.
>> >>     * explow.c: ditto.
>> >>     * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * expr.c: ditto.
>> >>     * final.c: ditto.
>> >>     * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
>> >>     * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     Relocate inline function convert_to_ptrofftype_loc from tree.h.
>> >>     Relocate inline function fold_build_pointer_plus_loc from tree.h.
>> >>     Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
>> >>     * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
>> >>     Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
>> >>     Relocate macro fold_build_pointer_plus_hwi from tree.h.
>> >>     Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
>> >>     Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
>> >>     Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
>> >>     * fortran/convert.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/decl.c: ditto.
>> >>     * fortran/f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/iresolve.c: ditto.
>> >>     * fortran/match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/options.c: ditto.
>> >>     * fortran/target-memory.c: Include hash-set.h, vec.h,
>> >>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/trans-array.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/trans-common.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/trans-const.c: ditto.
>> >>     * fortran/trans-decl.c: ditto.
>> >>     * fortran/trans-expr.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>> >>     * fortran/trans-io.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * fortran/trans-openmp.c: ditto.
>> >>     * fortran/trans-stmt.c: ditto.
>> >>     * fortran/trans-types.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, inchash.h and real.h due to flattening of tree.h.
>> >>     * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * gcc-plugin.h: Include statistics.h, double-int.h, real.h,
>> >> fixed-value.h,
>> >>     alias.h, flags.h, and symtab.h due to flattening of tree.h
>> >>     * gcse.c: ditto.
>> >>     * generic-match-head.c:  Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ggc-page.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * gimple-builder.c: ditto.
>> >>     * gimple.c: ditto.
>> >>     * gimple-expr.c: ditto.
>> >>     * gimple-fold.c: ditto.
>> >>     * gimple-iterator.c: ditto.
>> >>     * gimple-low.c: ditto.
>> >>     * gimple-match-head.c: ditto.
>> >>     * gimple-pretty-print.c: ditto.
>> >>     * generic-ssa-isolate-paths.c:  Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * gimple-ssa-strength-reduction.c: ditto.
>> >>     * gimple-streamer-in.c: ditto.
>> >>     * gimple-streamer-out.c: ditto.
>> >>     * gimple-walk.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * gimplify.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * gimplify-me.c: ditto.
>> >>     * go/go-gcc.cc: ditto.
>> >>     * go/go-lang.c: ditto.
>> >>     * go/gdump.c: ditto.
>> >>     * graphite-blocking.c: ditto.
>> >>     * graphite.c: ditto.
>> >>     * graphite-dependencies.c: ditto.
>> >>     * graphite-interchange.c: ditto.
>> >>     * graphite-isl-ast-to-gimple.c: ditto.
>> >>     * graphite-optimize-isl.c: ditto.
>> >>     * graphite-poly.c: ditto.
>> >>     * graphite-scop-detection.c: ditto.
>> >>     * graphite-sese-to-poly.c: ditto.
>> >>     * hw-doloop.c: Include symtab.h due to flattening of tree.h.
>> >>     * ifcvt.c: ditto.
>> >>     * init-regs.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa.c: ditto.
>> >>     * ipa-chkp.c: ditto.
>> >>     * ipa-comdats.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa-devirt.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h,options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa-icf-gimple.c: ditto.
>> >>     * ipa-inline-analysis.c:  Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa-inline.c: ditto.
>> >>     * ipa-inline-transform.c: ditto.
>> >>     * ipa-polymorhpic-call.c: ditto.
>> >>     * ipa-profile.c: ditto.
>> >>     * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ipa-reference.c: ditto.
>> >>     * ipa-split.c: ditto.
>> >>     * ipa-utils.c: ditto.
>> >>     * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * ira.c: ditto.
>> >>     * ira-color.c: Include hash-set.h due to flattening of tree.h.
>> >>     * ira-costs.c: ditto.
>> >>     * ira-emit.c: ditto.
>> >>     * java/boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * java/builtins.c: ditto.
>> >>     * java/class.c: ditto.
>> >>     * java/constants.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * java/decl.c: ditto.
>> >>     * java/except.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * java/expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h,inchash.h and real.h due to flattening of tree.h.
>> >>     * java/gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * java/jcf-dump.c: ditto.
>> >>     * java/jcf-io.c: ditto.
>> >>     * java/jcf-parse.c: ditto.
>> >>     * java/jvgenmain.c: ditto.
>> >>     * java/lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * java/mangle.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * java/mangle_name.c: ditto.
>> >>     * java/resource.c: ditto.
>> >>     * java/typeck.c: ditto.
>> >>     * java/verify-glue.c: ditto.
>> >>     * java/verify-impl.c: ditto.
>> >>     * jump.c: Include symtab.h due to flattening of tree.h.
>> >>     * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * loop-doloop.c: Include symtab.h due to flattening of tree.h.
>> >>     * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * loop-invariant.c: Include symtab.h due to flattening of tree.h.
>> >>     * loop-iv.c: ditto.
>> >>     * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * lower-subreg.c: ditto.
>> >>     * lra-assigns.c: Include symtab.h due to flattening of tree.h.
>> >>     * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
>> >>     * lra-constraints.c: ditto.
>> >>     * lra-eliminations.c: ditto.
>> >>     * lra-livesc: ditto.
>> >>     * lra-remat.c: ditto.
>> >>     * lra-spills.c: ditto.
>> >>     * lto/lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * lto/lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * lto/lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * lto/lto-partition.c: ditto.
>> >>     * lto/lto-symtab.c: ditto.
>> >>     * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * lto-opts.c: ditto.
>> >>     * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * lto-section-out.c: ditto.
>> >>     * lto-streamer.c: ditto.
>> >>     * lto-streamer-in.c: ditto.
>> >>     * lto-streamer-out.c: ditto.
>> >>     * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * objc/objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options, fold-const.h,
>> >>     wide-int.h, and inchash.h due to flattening of tree.h.
>> >>     * objc/objc-encoding.c: ditto.
>> >>     * objc/objc-gnu-runtime-abi-01.c: ditto.
>> >>     * objc/objc-lang.c: ditto.
>> >>     * objc/objc-map.c: ditto.
>> >>     * objc/objc-next-runtime-abi-01.c: ditto.
>> >>     * objc/objc-next-runtime-abi-02.c: ditto.
>> >>     * objc/objc-runtime-shared-support.c: ditto.
>> >>     * objcp/objcp-decl.c: ditto.
>> >>     * objcp/objcp-lang.c: ditto.
>> >>     * omega.c: ditto.
>> >>     * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * optabs.c: ditto.
>> >>     * opts-global.c: ditto.
>> >>     * passes.c: ditto.
>> >>     * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * postreload.c: Include symtab.h due to flattening of tree.h.
>> >>     * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * predict.c: ditto.
>> >>     * print-rtl.c: ditto.
>> >>     * print-tree.c: ditto.
>> >>     * profile.c: Include symtab.h, fold-const.h
>> >>     and inchash.h due to flattening of tree.h.
>> >>     * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * ree.c: ditto.
>> >>     * reginfo.c: ditto.
>> >>     * reg-stack.c: ditto.
>> >>     * reload1.c: Include symtab.h, fold-const.h, wide-int.h
>> >>     and inchash.h due to flattening of tree.h.
>> >>     * reload.c: Include symtab.h due to flattening of tree.h.
>> >>     * reorg.c: ditto.
>> >>     * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
>> >>     and inchash.h due to flattening of tree.h.
>> >>     * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * rtlhooks.c: Include symtab.h due to flattening of tree.h.
>> >>     * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * sched-vis.c: ditto.
>> >>     * sdbout.c: ditto.
>> >>     * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
>> >>     and inchash.h due to flattening of tree.h.
>> >>     * sel-sched-ir.c: ditto.
>> >>     * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * stack-ptr-mod.c: ditto.
>> >>     * stmt.c: ditto.
>> >>     * store-motion.c: ditto.
>> >>     * store-layout.c: ditto.
>> >>     * stringpool.c: ditto.
>> >>     * symtab.c: ditto.
>> >>     * target-globals.c: ditto.
>> >>     * targhooks.c: ditto.
>> >>     * toplev.c: ditto.
>> >>     * tracer.c: ditto.
>> >>     * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-affine.c: ditto.
>> >>     * tree-browser.c: ditto.
>> >>     * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
>> >>     fold-const.h, wide-int.h, inchash.h and real.h due to
>> >>     flattening of tree.h.
>> >>     * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-cfgcleanup.c: ditto.
>> >>     * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-chkp-opt.c: ditto.
>> >>     * tree-chrec.c: ditto.
>> >>     * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>> >>     real.h due to flattening of tree.h.
>> >>     * tree-core.h: Flatten header file by removing all #include statements.
>> >>     * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>> >>     real.h due to flattening of tree.h.
>> >>     * tree-diagnostic.c: ditto.
>> >>     * tree-dump.c: * tree-dfa.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h
>> >> and
>> >>     fixed-value.h due to flattening of tree.h.
>> >>     * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
>> >>     real.h due to flattening of tree.h.
>> >>     * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree.h: Flatten header files by removing all includes except
>> >> tree-core.h.
>> >>     Remove inline function convert_to_ptrofftype_loc to relocate to
>> >> fold-const.c.
>> >>     Remove macro convert_to_ptrofftype to relocate to fold-const.h.
>> >>     Remove inline function fold_build_pointer_plus_loc to relocate to
>> >> fold-const.c.
>> >>     Remove macro fold_build_pointer_plus to relocate to fold-const.h.
>> >>     Remove inline function fold_build_pointer_plus_hwi_loc to relocate to
>> >> fold-const.c.
>> >>     Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
>> >>     * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h
>> >> and
>> >>     fixed-value.h due to flattening of tree.h.
>> >>     * tree-inline.c: ditto.
>> >>     * tree-into-ssa.c: ditto.
>> >>     * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-loop-distribution.c: ditto.
>> >>     * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * tree-nrv.c: ditto.
>> >>     * tree-object-size.c: ditto.
>> >>     * tree-outof-ssa.c: ditto.
>> >>     * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-phinodes.c: ditto.
>> >>     * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * tree-pretty-print.c: ditto.
>> >>     * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
>> >>     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
>> >>     * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
>> >>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h and inchash.h due to flattening of tree.h.
>> >>     * tree-sra.c: Include  vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * tree-ssa.c: ditto.
>> >>     * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
>> >>     and real.h due to flattening of tree.h.
>> >>     * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * tree-ssa-copy.c: ditto.
>> >>     * tree-ssa-copyrename.c: ditto.
>> >>     * tree-ssa-dce.c: ditto.
>> >>     * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
>> >>     and real.h due to flattening of tree.h.
>> >>     * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * tree-ssa-forwprop.c: ditto.
>> >>     * tree-ssa-ifcombine.c: ditto.
>> >>     * tree-ssa-live.c: ditto.
>> >>     * tree-ssa-loop.c: ditto.
>> >>     * tree-ssa-loop-ch.c: ditto.
>> >>     * tree-ssa-loop-im.c: ditto.
>> >>     * tree-ssa-loop-ivcanon.c: ditto.
>> >>     * tree-ssa-loop-ivopts.c: ditto.
>> >>     * tree-ssa-loop-manip.c: ditto.
>> >>     * tree-ssa-loop-niter.c: ditto.
>> >>     * tree-ssa-loop-prefetch.c: ditto.
>> >>     * tree-ssa-loop-unswitch.c: ditto.
>> >>     * tree-ssa-loop-math-opts.c: ditto.
>> >>     * tree-ssanames.c: ditto.
>> >>     * tree-ssa-operands.c: ditto.
>> >>     * tree-ssa-phiopt.c: ditto.
>> >>     * tree-ssa-phiprop.c: ditto.
>> >>     * tree-ssa-pre.c: ditto.
>> >>     * tree-ssa-propagate.c: ditto.
>> >>     * tree-ssa-reassoc.c: ditto.
>> >>     * tree-ssa-sccvn.c: ditto.
>> >>     * tree-ssa-sink.c: ditto.
>> >>     * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
>> >>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h and inchash.h due to flattening of tree.h.
>> >>     * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
>> >>     fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
>> >>     * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
>> >>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h and inchash.h due to flattening of tree.h.
>> >>     * tree-ssa-ter.c: ditto.
>> >>     * tree-ssa-threadedge.c: ditto.
>> >>     * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
>> >>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h and inchash.h due to flattening of tree.h.
>> >>     * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
>> >>     double-int.h, input.h, alias.h, symtab.h, fold-const.h,
>> >>     wide-int.h and inchash.h due to flattening of tree.h.
>> >>     * tree-ssa-uninit.c: ditto.
>> >>     * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
>> >>     symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
>> >>     of tree.h.
>> >>     * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
>> >>     symtab.h, options.h, fold-const.h, wide-int.h and
>> >>     inchash.h due to flattening of tree.h.
>> >>     * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
>> >>     double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
>> >>     wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
>> >>     of tree.h.
>> >>     * tree-streamer-out.c: dittoo.
>> >>     * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * tree-tailcall.c: ditto.
>> >>     * tree-vect-data-refs.c: ditto.
>> >>     * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h,
>> >> double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
>> >> inchash.h
>> >>     due to flattening of tree.h.
>> >>     * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * tree-vect-loop-manip.c: ditto.
>> >>     * tree-vectorizer.c: ditto.
>> >>     * tree-vect-patterns.c: ditto.
>> >>     * tree-vect-slp.c: ditto.
>> >>     * tree-vect-stmts.c: ditto.
>> >>     * tree-vrp.c: ditto.
>> >>     * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
>> >> inchash.h
>> >>     due to flattening of tree.h.
>> >>     * ubsan.c: ditto.
>> >>     * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * varasm.c: ditto.
>> >>     * varpool.c: ditto.
>> >>     * var-tracking.c: ditto.
>> >>     * vmsdbgout.c: ditto.
>> >>     * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
>> >> inchash.h
>> >>     due to flattening of tree.h.
>> >>     * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
>> >>     due to flattening of tree.h.
>> >>     * xcoffout.c: ditto.
>> >>     * libcc1/plugin.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
>> >>     input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and
>> >> inchash.h
>> >>     due to flattening of tree.h.
>
> Which languages was this tested with?
I suppose this was tested with --enable-languages=all,go,ada which
left out the jit  -:(
>
> This broke the build of the jit, with dozens of errors e.g.:
oops, sorry about this. We will build further flattening patches with
--enable-languages=all,go,jit,ada.
Shall that cover all the front-ends ?
>
> In file included from ../../src/gcc/tree.h:23:0,
>                  from ../../src/gcc/jit/jit-common.h:26,
>                  from ../../src/gcc/jit/jit-logging.h:24,
>                  from ../../src/gcc/jit/jit-logging.c:25:
> ../../src/gcc/tree-core.h:171:9: error: ‘MAX_MODE_COMPLEX_FLOAT’ was not
> declared in this scope
>        + MAX_MODE_COMPLEX_FLOAT
>          ^
>
> I've fixed it with the attached; tested with "make check-jit", with
> jit.sum having:
>   # of expected passes  7152
>
> Committed to trunk as r219411.
Thanks for fixing -:)

Regards,
Prathamesh

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening (was: [PATCH] Flatten tree.h and tree-core.h (Version 3))
  2015-01-09 21:13   ` Prathamesh Kulkarni
  2015-01-09 21:35     ` Jakub Jelinek
  2015-01-09 22:07     ` [PATCH, committed] Fix build of jit (was Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)) David Malcolm
@ 2015-01-12  5:49     ` Jan-Benedict Glaw
  2015-01-12  6:58       ` [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening Michael Collison
  2 siblings, 1 reply; 14+ messages in thread
From: Jan-Benedict Glaw @ 2015-01-12  5:49 UTC (permalink / raw)
  To: Prathamesh Kulkarni
  Cc: Richard Biener, Michael Collison, gcc Patches, Andrew MacLeod, Jeff Law

[-- Attachment #1: Type: text/plain, Size: 2226 bytes --]

On Sat, 2015-01-10 01:50:42 +0530, Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> wrote:
> On 9 January 2015 at 16:21, Richard Biener <richard.guenther@gmail.com> wrote:
> > On Fri, Jan 9, 2015 at 10:39 AM, Michael Collison <michael.collison@linaro.org> wrote:
> > > This patch flattens tree.h and tree-core.h. This is a revised
> > > patch that does not include tree-core.h as a result of
> > > flattening.
> > >
> > > Version 3 of the patch adds the header files removed from
> > > tree-core.h to gcc-plugin.h in order to allow ggc-common.c to
> > > compile. This is a recent issue seen on trunk.
[...]
> Committed as r219402 on behalf of Michael.

Great work! Almost no fallout.

Though I see some fallout for tilepro-linux, see eg. these builds:
tilegx:  http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=396528
tilepro: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=397033

[...]
g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include  -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace   -o tilepro.o -MT tilepro.o -MMD -MP -MF ./.deps/tilepro.TPo /home/jbglaw/repos/gcc/gcc/config/tilepro/tilepro.c
In file included from /home/jbglaw/repos/gcc/gcc/expr.h:38:0,
                 from /home/jbglaw/repos/gcc/gcc/config/tilepro/tilepro.c:31:
/home/jbglaw/repos/gcc/gcc/tree-core.h:1139:24: error: field ‘id’ has incomplete type
make[1]: *** [tilepro.o] Error 1


#include "symtab.h" is there, so probably too late? Fails for both, tilepro and tilegx.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw@lug-owl.de              +49-172-7608481
 Signature of:                    Don't believe in miracles: Rely on them!
 the second  :

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening
  2015-01-12  5:49     ` [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening (was: " Jan-Benedict Glaw
@ 2015-01-12  6:58       ` Michael Collison
  2015-01-12  8:35         ` Prathamesh Kulkarni
  0 siblings, 1 reply; 14+ messages in thread
From: Michael Collison @ 2015-01-12  6:58 UTC (permalink / raw)
  To: Jan-Benedict Glaw, Prathamesh Kulkarni
  Cc: Richard Biener, gcc Patches, Andrew MacLeod, Jeff Law

The issue is that tilegx includes expr.h which includes tree-core.h. A 
simple solution is to include "symtab.h" before "expr.h" in tilegx.c. 
The port has a unrelated link error after this change.

The second possiblity is to resolve this using Prathmesh latest patch 
(submitted today) for flattening expr.h which removes the dependency on 
tree-core.h. Thoughts?

On 01/11/2015 08:36 PM, Jan-Benedict Glaw wrote:
> On Sat, 2015-01-10 01:50:42 +0530, Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> wrote:
>> On 9 January 2015 at 16:21, Richard Biener <richard.guenther@gmail.com> wrote:
>>> On Fri, Jan 9, 2015 at 10:39 AM, Michael Collison <michael.collison@linaro.org> wrote:
>>>> This patch flattens tree.h and tree-core.h. This is a revised
>>>> patch that does not include tree-core.h as a result of
>>>> flattening.
>>>>
>>>> Version 3 of the patch adds the header files removed from
>>>> tree-core.h to gcc-plugin.h in order to allow ggc-common.c to
>>>> compile. This is a recent issue seen on trunk.
> [...]
>> Committed as r219402 on behalf of Michael.
> Great work! Almost no fallout.
>
> Though I see some fallout for tilepro-linux, see eg. these builds:
> tilegx:  http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=396528
> tilepro: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=397033
>
> [...]
> g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include  -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace   -o tilepro.o -MT tilepro.o -MMD -MP -MF ./.deps/tilepro.TPo /home/jbglaw/repos/gcc/gcc/config/tilepro/tilepro.c
> In file included from /home/jbglaw/repos/gcc/gcc/expr.h:38:0,
>                   from /home/jbglaw/repos/gcc/gcc/config/tilepro/tilepro.c:31:
> /home/jbglaw/repos/gcc/gcc/tree-core.h:1139:24: error: field ‘id’ has incomplete type
> make[1]: *** [tilepro.o] Error 1
>
>
> #include "symtab.h" is there, so probably too late? Fails for both, tilepro and tilegx.
>
> MfG, JBG
>

-- 
Michael Collison
Linaro Toolchain Working Group
michael.collison@linaro.org

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening
  2015-01-12  6:58       ` [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening Michael Collison
@ 2015-01-12  8:35         ` Prathamesh Kulkarni
  0 siblings, 0 replies; 14+ messages in thread
From: Prathamesh Kulkarni @ 2015-01-12  8:35 UTC (permalink / raw)
  To: Michael Collison
  Cc: Jan-Benedict Glaw, Richard Biener, gcc Patches, Andrew MacLeod, Jeff Law

On 12 January 2015 at 11:19, Michael Collison
<michael.collison@linaro.org> wrote:
> The issue is that tilegx includes expr.h which includes tree-core.h. A
> simple solution is to include "symtab.h" before "expr.h" in tilegx.c. The
> port has a unrelated link error after this change.
Yes, I am seeing this link error after building expr.h too -;(
tmp/ccQsq9tJ.o: In function `main':
gen-mul-tables.cc:(.text.startup+0x3d0): undefined reference to
`std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
/tmp/ccQsq9tJ.o:(.eh_frame+0x44f): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
>
> The second possiblity is to resolve this using Prathmesh latest patch
> (submitted today) for flattening expr.h which removes the dependency on
> tree-core.h. Thoughts?
I retained tree-core.h in expr.h, so I guess flattening won't remove
the dependency on tree-core.h ?
>
> On 01/11/2015 08:36 PM, Jan-Benedict Glaw wrote:
>>
>> On Sat, 2015-01-10 01:50:42 +0530, Prathamesh Kulkarni
>> <prathamesh.kulkarni@linaro.org> wrote:
>>>
>>> On 9 January 2015 at 16:21, Richard Biener <richard.guenther@gmail.com>
>>> wrote:
>>>>
>>>> On Fri, Jan 9, 2015 at 10:39 AM, Michael Collison
>>>> <michael.collison@linaro.org> wrote:
>>>>>
>>>>> This patch flattens tree.h and tree-core.h. This is a revised
>>>>> patch that does not include tree-core.h as a result of
>>>>> flattening.
>>>>>
>>>>> Version 3 of the patch adds the header files removed from
>>>>> tree-core.h to gcc-plugin.h in order to allow ggc-common.c to
>>>>> compile. This is a recent issue seen on trunk.
>>
>> [...]
>>>
>>> Committed as r219402 on behalf of Michael.
>>
>> Great work! Almost no fallout.
>>
>> Though I see some fallout for tilepro-linux, see eg. these builds:
>> tilegx:
>> http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=396528
>> tilepro:
>> http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=397033
>>
>> [...]
>> g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions
>> -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing
>> -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual
>> -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
>> -fno-common  -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc
>> -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include
>> -I/home/jbglaw/repos/gcc/gcc/../libcpp/include
>> -I/home/jbglaw/repos/gcc/gcc/../libdecnumber
>> -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber
>> -I/home/jbglaw/repos/gcc/gcc/../libbacktrace   -o tilepro.o -MT tilepro.o
>> -MMD -MP -MF ./.deps/tilepro.TPo
>> /home/jbglaw/repos/gcc/gcc/config/tilepro/tilepro.c
>> In file included from /home/jbglaw/repos/gcc/gcc/expr.h:38:0,
>>                   from
>> /home/jbglaw/repos/gcc/gcc/config/tilepro/tilepro.c:31:
>> /home/jbglaw/repos/gcc/gcc/tree-core.h:1139:24: error: field ‘id’ has
>> incomplete type
>> make[1]: *** [tilepro.o] Error 1
>>
>>
>> #include "symtab.h" is there, so probably too late? Fails for both,
>> tilepro and tilegx.
>>
>> MfG, JBG
>>
>
> --
> Michael Collison
> Linaro Toolchain Working Group
> michael.collison@linaro.org
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)
  2015-01-09  9:43 [PATCH] Flatten tree.h and tree-core.h (Version 3) Michael Collison
  2015-01-09 10:52 ` Richard Biener
@ 2015-01-12 11:23 ` Andreas Schwab
  2015-01-12 13:14   ` Prathamesh Kulkarni
  1 sibling, 1 reply; 14+ messages in thread
From: Andreas Schwab @ 2015-01-12 11:23 UTC (permalink / raw)
  To: Michael Collison
  Cc: gcc Patches, Andrew MacLeod, richard.guenther, law, Prathamesh Kulkarni

I'm getting this testsuite regression:

FAIL: gcc.dg/plugin/ggcplug.c compilation

In file included from /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:23:0,
                 from /usr/local/gcc/gcc-20150112/gcc/testsuite/gcc.dg/plugin/ggcplug.c:8:
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:705:18: error: 'hash_set' has not been declared
          void *, hash_set<tree> *);
                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:705:26: error: expected ',' or '...' before '<' token
          void *, hash_set<tree> *);
                          ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1139:24: error: field 'id' has incomplete type 'ht_identifier'
   struct ht_identifier id;
                        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1139:10: note: forward declaration of 'struct ht_identifier'
   struct ht_identifier id;
          ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1164:3: error: 'vec' does not name a type
   vec<constructor_elt, va_gc> *elts;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1206:3: error: 'location_t' does not name a type
   location_t locus;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1253:3: error: 'location_t' does not name a type
   location_t locus;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1258:3: error: 'location_t' does not name a type
   location_t locus;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1285:3: error: 'location_t' does not name a type
   location_t locus;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1286:3: error: 'location_t' does not name a type
   location_t end_locus;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1289:3: error: 'vec' does not name a type
   vec<tree, va_gc> *nonlocalized_vars;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1324:3: error: 'alias_set_type' does not name a type
   alias_set_type alias_set;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1360:3: error: 'vec' does not name a type
   vec<tree, va_gc> *base_accesses;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1366:3: error: 'vec' does not name a type
   vec<tree, va_gc> base_binfos;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1371:3: error: 'location_t' does not name a type
   location_t locus;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1758:3: error: 'vec' does not name a type
   vec<tree, va_gc> *pending_statics;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1799:3: error: 'vec' does not name a type
   vec<tree, va_gc> *to;
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1845:16: error: 'vec' does not name a type
 extern GTY(()) vec<alias_pair, va_gc> *alias_pairs;
                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1858:17: error: 'vec' does not name a type
 extern GTY (()) vec<tree, va_gc> *all_translation_units;
                 ^
In file included from /usr/local/gcc/gcc-20150112/gcc/testsuite/gcc.dg/plugin/ggcplug.c:8:0:
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:1073:48: error: 'location_t' has not been declared
 extern void protected_set_expr_location (tree, location_t);
                                                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:2642:8: error: 'vec' does not name a type
 extern vec<tree, va_gc> **decl_debug_args_lookup (tree);
        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:2643:8: error: 'vec' does not name a type
 extern vec<tree, va_gc> **decl_debug_args_insert (tree);
        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3560:38: error: 'vec' has not been declared
 extern tree build_nt_call_vec (tree, vec<tree, va_gc> *);
                                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3560:41: error: expected ',' or '...' before '<' token
 extern tree build_nt_call_vec (tree, vec<tree, va_gc> *);
                                         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3580:18: error: 'build1_stat_loc' declared as an 'inline' variable
 build1_stat_loc (location_t loc, enum tree_code code, tree type,
                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3580:18: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3580:34: error: expected primary-expression before 'enum'
 build1_stat_loc (location_t loc, enum tree_code code, tree type,
                                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3580:60: error: expected primary-expression before 'type'
 build1_stat_loc (location_t loc, enum tree_code code, tree type,
                                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3581:9: error: expected primary-expression before 'arg1'
    tree arg1 MEM_STAT_DECL)
         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3581:27: error: expression list treated as compound expression in initializer [-fpermissive]
    tree arg1 MEM_STAT_DECL)
                           ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3582:1: error: expected ',' or ';' before '{' token
 {
 ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:18: error: 'build2_stat_loc' declared as an 'inline' variable
 build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:18: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:34: error: expected primary-expression before 'enum'
 build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:60: error: expected primary-expression before 'type'
 build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:71: error: expected primary-expression before 'arg0'
 build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                                                       ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3592:9: error: expected primary-expression before 'arg1'
    tree arg1 MEM_STAT_DECL)
         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3592:27: error: expression list treated as compound expression in initializer [-fpermissive]
    tree arg1 MEM_STAT_DECL)
                           ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3593:1: error: expected ',' or ';' before '{' token
 {
 ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:18: error: 'build3_stat_loc' declared as an 'inline' variable
 build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:18: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:34: error: expected primary-expression before 'enum'
 build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:60: error: expected primary-expression before 'type'
 build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:71: error: expected primary-expression before 'arg0'
 build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                                                       ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3603:9: error: expected primary-expression before 'arg1'
    tree arg1, tree arg2 MEM_STAT_DECL)
         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3603:20: error: expected primary-expression before 'arg2'
    tree arg1, tree arg2 MEM_STAT_DECL)
                    ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3603:38: error: expression list treated as compound expression in initializer [-fpermissive]
    tree arg1, tree arg2 MEM_STAT_DECL)
                                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3604:1: error: expected ',' or ';' before '{' token
 {
 ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:18: error: 'build4_stat_loc' declared as an 'inline' variable
 build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:18: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:34: error: expected primary-expression before 'enum'
 build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:60: error: expected primary-expression before 'type'
 build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:71: error: expected primary-expression before 'arg0'
 build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                                                       ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3615:9: error: expected primary-expression before 'arg1'
    tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3615:20: error: expected primary-expression before 'arg2'
    tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
                    ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3615:31: error: expected primary-expression before 'arg3'
    tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
                               ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3615:49: error: expression list treated as compound expression in initializer [-fpermissive]
    tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
                                                 ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3616:1: error: expected ',' or ';' before '{' token
 {
 ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:18: error: 'build5_stat_loc' declared as an 'inline' variable
 build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:18: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:34: error: expected primary-expression before 'enum'
 build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:60: error: expected primary-expression before 'type'
 build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:71: error: expected primary-expression before 'arg0'
 build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
                                                                       ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:9: error: expected primary-expression before 'arg1'
    tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:20: error: expected primary-expression before 'arg2'
    tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
                    ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:31: error: expected primary-expression before 'arg3'
    tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
                               ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:42: error: expected primary-expression before 'arg4'
    tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
                                          ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:60: error: expression list treated as compound expression in initializer [-fpermissive]
    tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
                                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3628:1: error: expected ',' or ';' before '{' token
 {
 ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3644:39: error: 'double_int' has not been declared
 extern tree double_int_to_tree (tree, double_int);
                                       ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3646:48: error: 'wide_int_ref' does not name a type
 extern tree wide_int_to_tree (tree type, const wide_int_ref &cst);
                                                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3647:41: error: 'wide_int_ref' does not name a type
 extern tree force_fit_type (tree, const wide_int_ref &, int, bool);
                                         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3659:43: error: 'vec' has not been declared
 extern tree build_vector_from_ctor (tree, vec<constructor_elt, va_gc> *);
                                           ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3659:46: error: expected ',' or '...' before '<' token
 extern tree build_vector_from_ctor (tree, vec<constructor_elt, va_gc> *);
                                              ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3661:38: error: 'vec' has not been declared
 extern tree build_constructor (tree, vec<constructor_elt, va_gc> *);
                                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3661:41: error: expected ',' or '...' before '<' token
 extern tree build_constructor (tree, vec<constructor_elt, va_gc> *);
                                         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3674:45: error: 'vec' does not name a type
 extern tree build_tree_list_vec_stat (const vec<tree, va_gc> *MEM_STAT_DECL);
                                             ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3674:48: error: expected ',' or '...' before '<' token
 extern tree build_tree_list_vec_stat (const vec<tree, va_gc> *MEM_STAT_DECL);
                                                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3676:30: warning: 'build_decl_stat' initialized and declared 'extern'
 extern tree build_decl_stat (location_t, enum tree_code,
                              ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3676:30: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3676:42: error: expected primary-expression before 'enum'
 extern tree build_decl_stat (location_t, enum tree_code,
                                          ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3677:13: error: expected primary-expression before ',' token
         tree, tree MEM_STAT_DECL);
             ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3677:20: error: expected primary-expression before 'MEM_STAT_DECL'
         tree, tree MEM_STAT_DECL);
                    ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3677:33: error: expression list treated as compound expression in initializer [-fpermissive]
         tree, tree MEM_STAT_DECL);
                                 ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3682:41: warning: 'build_empty_stmt' initialized and declared 'extern'
 extern tree build_empty_stmt (location_t);
                                         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3682:31: error: 'location_t' was not declared in this scope
 extern tree build_empty_stmt (location_t);
                               ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3683:31: warning: 'build_omp_clause' initialized and declared 'extern'
 extern tree build_omp_clause (location_t, enum omp_clause_code);
                               ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3683:31: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3683:43: error: expected primary-expression before 'enum'
 extern tree build_omp_clause (location_t, enum omp_clause_code);
                                           ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3683:63: error: expression list treated as compound expression in initializer [-fpermissive]
 extern tree build_omp_clause (location_t, enum omp_clause_code);
                                                               ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:35: warning: 'build_call_array_loc' initialized and declared 'extern'
 extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
                                   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:35: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:51: error: expected primary-expression before ',' token
 extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
                                                   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:57: error: expected primary-expression before ',' token
 extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
                                                         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:59: error: expected primary-expression before 'int'
 extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
                                                           ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:64: error: expected primary-expression before 'const'
 extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
                                                                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:76: error: expression list treated as compound expression in initializer [-fpermissive]
 extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
                                                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3693:41: error: 'vec' has not been declared
 extern tree build_call_vec (tree, tree, vec<tree, va_gc> *);
                                         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3693:44: error: expected ',' or '...' before '<' token
 extern tree build_call_vec (tree, tree, vec<tree, va_gc> *);
                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:40: warning: 'build_call_expr_loc_array' initialized and declared 'extern'
 extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
                                        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:40: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:56: error: expected primary-expression before ',' token
 extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
                                                        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:58: error: expected primary-expression before 'int'
 extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
                                                          ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:68: error: expected primary-expression before '*' token
 extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
                                                                    ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:69: error: expected primary-expression before ')' token
 extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
                                                                     ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:69: error: expression list treated as compound expression in initializer [-fpermissive]
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:38: warning: 'build_call_expr_loc_vec' initialized and declared 'extern'
 extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
                                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:38: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:54: error: expected primary-expression before ',' token
 extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
                                                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:56: error: 'vec' was not declared in this scope
 extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
                                                        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:64: error: expected primary-expression before ',' token
 extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
                                                                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:66: error: 'va_gc' was not declared in this scope
 extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
                                                                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:74: error: expected primary-expression before ')' token
 extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
                                                                          ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:74: error: expression list treated as compound expression in initializer [-fpermissive]
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:34: warning: 'build_call_expr_loc' initialized and declared 'extern'
 extern tree build_call_expr_loc (location_t, tree, int, ...);
                                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:34: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:50: error: expected primary-expression before ',' token
 extern tree build_call_expr_loc (location_t, tree, int, ...);
                                                  ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:52: error: expected primary-expression before 'int'
 extern tree build_call_expr_loc (location_t, tree, int, ...);
                                                    ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:57: error: expected primary-expression before '...' token
 extern tree build_call_expr_loc (location_t, tree, int, ...);
                                                         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:60: error: expression list treated as compound expression in initializer [-fpermissive]
 extern tree build_call_expr_loc (location_t, tree, int, ...);
                                                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3698:43: warning: 'build_call_expr_internal_loc' initialized and declared 'extern'
 extern tree build_call_expr_internal_loc (location_t, enum internal_fn,
                                           ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3698:43: error: 'location_t' was not declared in this scope
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3698:55: error: expected primary-expression before 'enum'
 extern tree build_call_expr_internal_loc (location_t, enum internal_fn,
                                                       ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3699:12: error: expected primary-expression before ',' token
        tree, int, ...);
            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3699:14: error: expected primary-expression before 'int'
        tree, int, ...);
              ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3699:19: error: expected primary-expression before '...' token
        tree, int, ...);
                   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3699:22: error: expression list treated as compound expression in initializer [-fpermissive]
        tree, int, ...);
                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3737:37: error: 'vec' has not been declared
 extern bool vec_member (const_tree, vec<tree, va_gc> *);
                                     ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3737:40: error: expected ',' or '...' before '<' token
 extern bool vec_member (const_tree, vec<tree, va_gc> *);
                                        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3773:55: error: 'signop' has not been declared
 extern unsigned int tree_int_cst_min_precision (tree, signop);
                                                       ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4001:8: error: 'vec' does not name a type
 extern vec<tree, va_gc> *ctor_to_vec (tree);
        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4098:45: error: 'vec' has not been declared
 extern void find_placeholder_in_expr (tree, vec<tree> *);
                                             ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4098:48: error: expected ',' or '...' before '<' token
 extern void find_placeholder_in_expr (tree, vec<tree> *);
                                                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h: In function 'bool inlined_function_outer_scope_p(const_tree)':
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:1543:64: error: 'const struct tree_block' has no member named 'locus'
 #define BLOCK_SOURCE_LOCATION(NODE) (BLOCK_CHECK (NODE)->block.locus)
                                                                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4233:25: note: in expansion of macro 'BLOCK_SOURCE_LOCATION'
  return LOCATION_LOCUS (BLOCK_SOURCE_LOCATION (block)) != UNKNOWN_LOCATION;
                         ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4233:54: error: 'LOCATION_LOCUS' was not declared in this scope
  return LOCATION_LOCUS (BLOCK_SOURCE_LOCATION (block)) != UNKNOWN_LOCATION;
                                                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4233:59: error: 'UNKNOWN_LOCATION' was not declared in this scope
  return LOCATION_LOCUS (BLOCK_SOURCE_LOCATION (block)) != UNKNOWN_LOCATION;
                                                           ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h: At global scope:
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4266:48: warning: 'create_artificial_label' initialized and declared 'extern'
 extern tree create_artificial_label (location_t);
                                                ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4266:38: error: 'location_t' was not declared in this scope
 extern tree create_artificial_label (location_t);
                                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4339:35: error: 'hash' has not been declared
 extern void add_expr (const_tree, hash &);
                                   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h: In function 'hashval_t iterative_hash_expr(const_tree, hashval_t)':
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4347:3: error: 'hash' is not a member of 'inchash'
   inchash::hash hstate (seed);
   ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4348:28: error: 'hstate' was not declared in this scope
   inchash::add_expr (tree, hstate);
                            ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h: At global scope:
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4371:8: error: 'location_t' does not name a type
 extern location_t *block_nonartificial_location (tree);
        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4372:8: error: 'location_t' does not name a type
 extern location_t tree_nonartificial_location (tree);
        ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4385:54: error: 'hash_set' has not been declared
 extern tree walk_tree_1 (tree*, walk_tree_fn, void*, hash_set<tree>*,
                                                      ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4385:62: error: expected ',' or '...' before '<' token
 extern tree walk_tree_1 (tree*, walk_tree_fn, void*, hash_set<tree>*,
                                                              ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4408:53: error: expected template-name before '<' token
 struct tree_decl_map_cache_hasher : ggc_cache_hasher<tree_decl_map *>
                                                     ^
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4408:53: error: expected '{' before '<' token
/usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4408:53: error: expected unqualified-id before '<' token

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)
  2015-01-12 11:23 ` [PATCH] Flatten tree.h and tree-core.h (Version 3) Andreas Schwab
@ 2015-01-12 13:14   ` Prathamesh Kulkarni
  0 siblings, 0 replies; 14+ messages in thread
From: Prathamesh Kulkarni @ 2015-01-12 13:14 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: Michael Collison, gcc Patches, Andrew MacLeod, Richard Biener, Jeff Law

On 12 January 2015 at 16:24, Andreas Schwab <schwab@suse.de> wrote:
> I'm getting this testsuite regression:
>
> FAIL: gcc.dg/plugin/ggcplug.c compilation
Fixed with r219458.

Thanks,
Prathamesh
>
> In file included from /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:23:0,
>                  from /usr/local/gcc/gcc-20150112/gcc/testsuite/gcc.dg/plugin/ggcplug.c:8:
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:705:18: error: 'hash_set' has not been declared
>           void *, hash_set<tree> *);
>                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:705:26: error: expected ',' or '...' before '<' token
>           void *, hash_set<tree> *);
>                           ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1139:24: error: field 'id' has incomplete type 'ht_identifier'
>    struct ht_identifier id;
>                         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1139:10: note: forward declaration of 'struct ht_identifier'
>    struct ht_identifier id;
>           ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1164:3: error: 'vec' does not name a type
>    vec<constructor_elt, va_gc> *elts;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1206:3: error: 'location_t' does not name a type
>    location_t locus;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1253:3: error: 'location_t' does not name a type
>    location_t locus;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1258:3: error: 'location_t' does not name a type
>    location_t locus;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1285:3: error: 'location_t' does not name a type
>    location_t locus;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1286:3: error: 'location_t' does not name a type
>    location_t end_locus;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1289:3: error: 'vec' does not name a type
>    vec<tree, va_gc> *nonlocalized_vars;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1324:3: error: 'alias_set_type' does not name a type
>    alias_set_type alias_set;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1360:3: error: 'vec' does not name a type
>    vec<tree, va_gc> *base_accesses;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1366:3: error: 'vec' does not name a type
>    vec<tree, va_gc> base_binfos;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1371:3: error: 'location_t' does not name a type
>    location_t locus;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1758:3: error: 'vec' does not name a type
>    vec<tree, va_gc> *pending_statics;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1799:3: error: 'vec' does not name a type
>    vec<tree, va_gc> *to;
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1845:16: error: 'vec' does not name a type
>  extern GTY(()) vec<alias_pair, va_gc> *alias_pairs;
>                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree-core.h:1858:17: error: 'vec' does not name a type
>  extern GTY (()) vec<tree, va_gc> *all_translation_units;
>                  ^
> In file included from /usr/local/gcc/gcc-20150112/gcc/testsuite/gcc.dg/plugin/ggcplug.c:8:0:
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:1073:48: error: 'location_t' has not been declared
>  extern void protected_set_expr_location (tree, location_t);
>                                                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:2642:8: error: 'vec' does not name a type
>  extern vec<tree, va_gc> **decl_debug_args_lookup (tree);
>         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:2643:8: error: 'vec' does not name a type
>  extern vec<tree, va_gc> **decl_debug_args_insert (tree);
>         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3560:38: error: 'vec' has not been declared
>  extern tree build_nt_call_vec (tree, vec<tree, va_gc> *);
>                                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3560:41: error: expected ',' or '...' before '<' token
>  extern tree build_nt_call_vec (tree, vec<tree, va_gc> *);
>                                          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3580:18: error: 'build1_stat_loc' declared as an 'inline' variable
>  build1_stat_loc (location_t loc, enum tree_code code, tree type,
>                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3580:18: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3580:34: error: expected primary-expression before 'enum'
>  build1_stat_loc (location_t loc, enum tree_code code, tree type,
>                                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3580:60: error: expected primary-expression before 'type'
>  build1_stat_loc (location_t loc, enum tree_code code, tree type,
>                                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3581:9: error: expected primary-expression before 'arg1'
>     tree arg1 MEM_STAT_DECL)
>          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3581:27: error: expression list treated as compound expression in initializer [-fpermissive]
>     tree arg1 MEM_STAT_DECL)
>                            ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3582:1: error: expected ',' or ';' before '{' token
>  {
>  ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:18: error: 'build2_stat_loc' declared as an 'inline' variable
>  build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:18: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:34: error: expected primary-expression before 'enum'
>  build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:60: error: expected primary-expression before 'type'
>  build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3591:71: error: expected primary-expression before 'arg0'
>  build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                                                        ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3592:9: error: expected primary-expression before 'arg1'
>     tree arg1 MEM_STAT_DECL)
>          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3592:27: error: expression list treated as compound expression in initializer [-fpermissive]
>     tree arg1 MEM_STAT_DECL)
>                            ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3593:1: error: expected ',' or ';' before '{' token
>  {
>  ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:18: error: 'build3_stat_loc' declared as an 'inline' variable
>  build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:18: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:34: error: expected primary-expression before 'enum'
>  build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:60: error: expected primary-expression before 'type'
>  build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3602:71: error: expected primary-expression before 'arg0'
>  build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                                                        ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3603:9: error: expected primary-expression before 'arg1'
>     tree arg1, tree arg2 MEM_STAT_DECL)
>          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3603:20: error: expected primary-expression before 'arg2'
>     tree arg1, tree arg2 MEM_STAT_DECL)
>                     ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3603:38: error: expression list treated as compound expression in initializer [-fpermissive]
>     tree arg1, tree arg2 MEM_STAT_DECL)
>                                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3604:1: error: expected ',' or ';' before '{' token
>  {
>  ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:18: error: 'build4_stat_loc' declared as an 'inline' variable
>  build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:18: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:34: error: expected primary-expression before 'enum'
>  build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:60: error: expected primary-expression before 'type'
>  build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3614:71: error: expected primary-expression before 'arg0'
>  build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                                                        ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3615:9: error: expected primary-expression before 'arg1'
>     tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
>          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3615:20: error: expected primary-expression before 'arg2'
>     tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
>                     ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3615:31: error: expected primary-expression before 'arg3'
>     tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
>                                ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3615:49: error: expression list treated as compound expression in initializer [-fpermissive]
>     tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
>                                                  ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3616:1: error: expected ',' or ';' before '{' token
>  {
>  ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:18: error: 'build5_stat_loc' declared as an 'inline' variable
>  build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:18: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:34: error: expected primary-expression before 'enum'
>  build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:60: error: expected primary-expression before 'type'
>  build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3626:71: error: expected primary-expression before 'arg0'
>  build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
>                                                                        ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:9: error: expected primary-expression before 'arg1'
>     tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
>          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:20: error: expected primary-expression before 'arg2'
>     tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
>                     ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:31: error: expected primary-expression before 'arg3'
>     tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
>                                ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:42: error: expected primary-expression before 'arg4'
>     tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
>                                           ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3627:60: error: expression list treated as compound expression in initializer [-fpermissive]
>     tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
>                                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3628:1: error: expected ',' or ';' before '{' token
>  {
>  ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3644:39: error: 'double_int' has not been declared
>  extern tree double_int_to_tree (tree, double_int);
>                                        ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3646:48: error: 'wide_int_ref' does not name a type
>  extern tree wide_int_to_tree (tree type, const wide_int_ref &cst);
>                                                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3647:41: error: 'wide_int_ref' does not name a type
>  extern tree force_fit_type (tree, const wide_int_ref &, int, bool);
>                                          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3659:43: error: 'vec' has not been declared
>  extern tree build_vector_from_ctor (tree, vec<constructor_elt, va_gc> *);
>                                            ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3659:46: error: expected ',' or '...' before '<' token
>  extern tree build_vector_from_ctor (tree, vec<constructor_elt, va_gc> *);
>                                               ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3661:38: error: 'vec' has not been declared
>  extern tree build_constructor (tree, vec<constructor_elt, va_gc> *);
>                                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3661:41: error: expected ',' or '...' before '<' token
>  extern tree build_constructor (tree, vec<constructor_elt, va_gc> *);
>                                          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3674:45: error: 'vec' does not name a type
>  extern tree build_tree_list_vec_stat (const vec<tree, va_gc> *MEM_STAT_DECL);
>                                              ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3674:48: error: expected ',' or '...' before '<' token
>  extern tree build_tree_list_vec_stat (const vec<tree, va_gc> *MEM_STAT_DECL);
>                                                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3676:30: warning: 'build_decl_stat' initialized and declared 'extern'
>  extern tree build_decl_stat (location_t, enum tree_code,
>                               ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3676:30: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3676:42: error: expected primary-expression before 'enum'
>  extern tree build_decl_stat (location_t, enum tree_code,
>                                           ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3677:13: error: expected primary-expression before ',' token
>          tree, tree MEM_STAT_DECL);
>              ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3677:20: error: expected primary-expression before 'MEM_STAT_DECL'
>          tree, tree MEM_STAT_DECL);
>                     ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3677:33: error: expression list treated as compound expression in initializer [-fpermissive]
>          tree, tree MEM_STAT_DECL);
>                                  ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3682:41: warning: 'build_empty_stmt' initialized and declared 'extern'
>  extern tree build_empty_stmt (location_t);
>                                          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3682:31: error: 'location_t' was not declared in this scope
>  extern tree build_empty_stmt (location_t);
>                                ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3683:31: warning: 'build_omp_clause' initialized and declared 'extern'
>  extern tree build_omp_clause (location_t, enum omp_clause_code);
>                                ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3683:31: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3683:43: error: expected primary-expression before 'enum'
>  extern tree build_omp_clause (location_t, enum omp_clause_code);
>                                            ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3683:63: error: expression list treated as compound expression in initializer [-fpermissive]
>  extern tree build_omp_clause (location_t, enum omp_clause_code);
>                                                                ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:35: warning: 'build_call_array_loc' initialized and declared 'extern'
>  extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
>                                    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:35: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:51: error: expected primary-expression before ',' token
>  extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
>                                                    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:57: error: expected primary-expression before ',' token
>  extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
>                                                          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:59: error: expected primary-expression before 'int'
>  extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
>                                                            ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:64: error: expected primary-expression before 'const'
>  extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
>                                                                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3692:76: error: expression list treated as compound expression in initializer [-fpermissive]
>  extern tree build_call_array_loc (location_t, tree, tree, int, const tree *);
>                                                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3693:41: error: 'vec' has not been declared
>  extern tree build_call_vec (tree, tree, vec<tree, va_gc> *);
>                                          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3693:44: error: expected ',' or '...' before '<' token
>  extern tree build_call_vec (tree, tree, vec<tree, va_gc> *);
>                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:40: warning: 'build_call_expr_loc_array' initialized and declared 'extern'
>  extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
>                                         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:40: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:56: error: expected primary-expression before ',' token
>  extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
>                                                         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:58: error: expected primary-expression before 'int'
>  extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
>                                                           ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:68: error: expected primary-expression before '*' token
>  extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
>                                                                     ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:69: error: expected primary-expression before ')' token
>  extern tree build_call_expr_loc_array (location_t, tree, int, tree *);
>                                                                      ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3694:69: error: expression list treated as compound expression in initializer [-fpermissive]
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:38: warning: 'build_call_expr_loc_vec' initialized and declared 'extern'
>  extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
>                                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:38: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:54: error: expected primary-expression before ',' token
>  extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
>                                                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:56: error: 'vec' was not declared in this scope
>  extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
>                                                         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:64: error: expected primary-expression before ',' token
>  extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
>                                                                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:66: error: 'va_gc' was not declared in this scope
>  extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
>                                                                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:74: error: expected primary-expression before ')' token
>  extern tree build_call_expr_loc_vec (location_t, tree, vec<tree, va_gc> *);
>                                                                           ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3695:74: error: expression list treated as compound expression in initializer [-fpermissive]
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:34: warning: 'build_call_expr_loc' initialized and declared 'extern'
>  extern tree build_call_expr_loc (location_t, tree, int, ...);
>                                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:34: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:50: error: expected primary-expression before ',' token
>  extern tree build_call_expr_loc (location_t, tree, int, ...);
>                                                   ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:52: error: expected primary-expression before 'int'
>  extern tree build_call_expr_loc (location_t, tree, int, ...);
>                                                     ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:57: error: expected primary-expression before '...' token
>  extern tree build_call_expr_loc (location_t, tree, int, ...);
>                                                          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3696:60: error: expression list treated as compound expression in initializer [-fpermissive]
>  extern tree build_call_expr_loc (location_t, tree, int, ...);
>                                                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3698:43: warning: 'build_call_expr_internal_loc' initialized and declared 'extern'
>  extern tree build_call_expr_internal_loc (location_t, enum internal_fn,
>                                            ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3698:43: error: 'location_t' was not declared in this scope
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3698:55: error: expected primary-expression before 'enum'
>  extern tree build_call_expr_internal_loc (location_t, enum internal_fn,
>                                                        ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3699:12: error: expected primary-expression before ',' token
>         tree, int, ...);
>             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3699:14: error: expected primary-expression before 'int'
>         tree, int, ...);
>               ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3699:19: error: expected primary-expression before '...' token
>         tree, int, ...);
>                    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3699:22: error: expression list treated as compound expression in initializer [-fpermissive]
>         tree, int, ...);
>                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3737:37: error: 'vec' has not been declared
>  extern bool vec_member (const_tree, vec<tree, va_gc> *);
>                                      ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3737:40: error: expected ',' or '...' before '<' token
>  extern bool vec_member (const_tree, vec<tree, va_gc> *);
>                                         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:3773:55: error: 'signop' has not been declared
>  extern unsigned int tree_int_cst_min_precision (tree, signop);
>                                                        ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4001:8: error: 'vec' does not name a type
>  extern vec<tree, va_gc> *ctor_to_vec (tree);
>         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4098:45: error: 'vec' has not been declared
>  extern void find_placeholder_in_expr (tree, vec<tree> *);
>                                              ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4098:48: error: expected ',' or '...' before '<' token
>  extern void find_placeholder_in_expr (tree, vec<tree> *);
>                                                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h: In function 'bool inlined_function_outer_scope_p(const_tree)':
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:1543:64: error: 'const struct tree_block' has no member named 'locus'
>  #define BLOCK_SOURCE_LOCATION(NODE) (BLOCK_CHECK (NODE)->block.locus)
>                                                                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4233:25: note: in expansion of macro 'BLOCK_SOURCE_LOCATION'
>   return LOCATION_LOCUS (BLOCK_SOURCE_LOCATION (block)) != UNKNOWN_LOCATION;
>                          ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4233:54: error: 'LOCATION_LOCUS' was not declared in this scope
>   return LOCATION_LOCUS (BLOCK_SOURCE_LOCATION (block)) != UNKNOWN_LOCATION;
>                                                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4233:59: error: 'UNKNOWN_LOCATION' was not declared in this scope
>   return LOCATION_LOCUS (BLOCK_SOURCE_LOCATION (block)) != UNKNOWN_LOCATION;
>                                                            ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h: At global scope:
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4266:48: warning: 'create_artificial_label' initialized and declared 'extern'
>  extern tree create_artificial_label (location_t);
>                                                 ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4266:38: error: 'location_t' was not declared in this scope
>  extern tree create_artificial_label (location_t);
>                                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4339:35: error: 'hash' has not been declared
>  extern void add_expr (const_tree, hash &);
>                                    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h: In function 'hashval_t iterative_hash_expr(const_tree, hashval_t)':
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4347:3: error: 'hash' is not a member of 'inchash'
>    inchash::hash hstate (seed);
>    ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4348:28: error: 'hstate' was not declared in this scope
>    inchash::add_expr (tree, hstate);
>                             ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h: At global scope:
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4371:8: error: 'location_t' does not name a type
>  extern location_t *block_nonartificial_location (tree);
>         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4372:8: error: 'location_t' does not name a type
>  extern location_t tree_nonartificial_location (tree);
>         ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4385:54: error: 'hash_set' has not been declared
>  extern tree walk_tree_1 (tree*, walk_tree_fn, void*, hash_set<tree>*,
>                                                       ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4385:62: error: expected ',' or '...' before '<' token
>  extern tree walk_tree_1 (tree*, walk_tree_fn, void*, hash_set<tree>*,
>                                                               ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4408:53: error: expected template-name before '<' token
>  struct tree_decl_map_cache_hasher : ggc_cache_hasher<tree_decl_map *>
>                                                      ^
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4408:53: error: expected '{' before '<' token
> /usr/local/gcc/gcc-20150112/gcc/testsuite/../../gcc/tree.h:4408:53: error: expected unqualified-id before '<' token
>
> Andreas.
>
> --
> Andreas Schwab, SUSE Labs, schwab@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH, committed] Fix build of jit (was Re: [PATCH] Flatten tree.h and tree-core.h (Version 3))
  2015-01-11 23:58       ` Prathamesh Kulkarni
@ 2015-01-12 18:56         ` Mike Stump
  2015-01-12 19:08           ` Prathamesh Kulkarni
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Stump @ 2015-01-12 18:56 UTC (permalink / raw)
  To: Prathamesh Kulkarni; +Cc: David Malcolm, gcc Patches

On Jan 11, 2015, at 2:33 PM, Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> wrote:
> oops, sorry about this. We will build further flattening patches with
> --enable-languages=all,go,jit,ada.
> Shall that cover all the front-ends ?

No objc++ is non-default:

$ grep build_by_default */config-lang.in
go/config-lang.in:build_by_default="no"
java/config-lang.in:#build_by_default=no
jit/config-lang.in:build_by_default="no"
lto/config-lang.in:build_by_default=no
objcp/config-lang.in:build_by_default=“no"

I saw changes to objcp, so, I had assumed you did it, otherwise I was going to mention it.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH, committed] Fix build of jit (was Re: [PATCH] Flatten tree.h and tree-core.h (Version 3))
  2015-01-12 18:56         ` Mike Stump
@ 2015-01-12 19:08           ` Prathamesh Kulkarni
  0 siblings, 0 replies; 14+ messages in thread
From: Prathamesh Kulkarni @ 2015-01-12 19:08 UTC (permalink / raw)
  To: Mike Stump; +Cc: David Malcolm, gcc Patches, Michael Collison

On 13 January 2015 at 00:01, Mike Stump <mikestump@comcast.net> wrote:
> On Jan 11, 2015, at 2:33 PM, Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> wrote:
>> oops, sorry about this. We will build further flattening patches with
>> --enable-languages=all,go,jit,ada.
>> Shall that cover all the front-ends ?
>
> No objc++ is non-default:
Thanks!
>
> $ grep build_by_default */config-lang.in
> go/config-lang.in:build_by_default="no"
> java/config-lang.in:#build_by_default=no
> jit/config-lang.in:build_by_default="no"
> lto/config-lang.in:build_by_default=no
> objcp/config-lang.in:build_by_default=“no"
>
> I saw changes to objcp, so, I had assumed you did it, otherwise I was going to mention it.
Michael had built objcp for tree.h flattening patch and tested it.

Thanks,
Prathamesh

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-01-12 18:59 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-09  9:43 [PATCH] Flatten tree.h and tree-core.h (Version 3) Michael Collison
2015-01-09 10:52 ` Richard Biener
2015-01-09 21:13   ` Prathamesh Kulkarni
2015-01-09 21:35     ` Jakub Jelinek
2015-01-09 21:59       ` Prathamesh Kulkarni
2015-01-09 22:07     ` [PATCH, committed] Fix build of jit (was Re: [PATCH] Flatten tree.h and tree-core.h (Version 3)) David Malcolm
2015-01-11 23:58       ` Prathamesh Kulkarni
2015-01-12 18:56         ` Mike Stump
2015-01-12 19:08           ` Prathamesh Kulkarni
2015-01-12  5:49     ` [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening (was: " Jan-Benedict Glaw
2015-01-12  6:58       ` [BUILDROBOT] tilepro-linux/tilegx-linux fallout from flattening Michael Collison
2015-01-12  8:35         ` Prathamesh Kulkarni
2015-01-12 11:23 ` [PATCH] Flatten tree.h and tree-core.h (Version 3) Andreas Schwab
2015-01-12 13:14   ` Prathamesh Kulkarni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).