1. 09 Jan, 2015 24 commits
    • genattrtab.c (write_header): Include hash-set.h... · 40e23961
      2015-01-09  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.
      	* 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: 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-dfa.c: ditto.
      	* 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.
      
      From-SVN: r219402
      Michael Collison committed
    • New jit API entrypoint: gcc_jit_context_new_rvalue_from_long · ccce3b2a
      gcc/jit/ChangeLog:
      	* docs/cp/topics/expressions.rst (Simple expressions): Use
      	":c:type:" for C types.  Document new overload of
      	gcc::jit::context::new_rvalue.
      	* docs/topics/expressions.rst (Simple expressions): Use
      	":c:type:" for C types.  Document new entrypoint
      	gcc_jit_context_new_rvalue_from_long.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-playback.c: Within namespace gcc::jit::playback...
      	(context::new_rvalue_from_int): Eliminate in favor of...
      	(context::new_rvalue_from_const <int>): ...this.
      	(context::new_rvalue_from_double): Eliminate in favor of...
      	(context::new_rvalue_from_const <double>): ...this.
      	(context::new_rvalue_from_const <long>): New.
      	(context::new_rvalue_from_ptr): Eliminate in favor of...
      	(context::new_rvalue_from_const <void *>): ...this.
      	* jit-playback.h: Within namespace gcc::jit::playback...
      	(context::new_rvalue_from_int): Eliminate in favor of...
      	(context::new_rvalue_from_const <HOST_TYPE>): ...this.
      	(context::new_rvalue_from_double): Likewise.
      	(context::new_rvalue_from_ptr): Likewise.
      	* jit-recording.c: Within namespace gcc::jit::recording...
      	(context::new_rvalue_from_int): Eliminate.
      	(context::new_rvalue_from_double): Likewise.
      	(context::new_rvalue_from_ptr): Likewise.
      	(class memento_of_new_rvalue_from_const <int>):
      	Add explicit specialization.
      	(class memento_of_new_rvalue_from_const <long>):
      	Likewise.
      	(class memento_of_new_rvalue_from_const <double>):
      	Likewise.
      	(class memento_of_new_rvalue_from_const <void *>):
      	Likewise.
      	(memento_of_new_rvalue_from_int::replay_into):
      	Generalize into...
      	(memento_of_new_rvalue_from_const <HOST_TYPE>::replay_into):
      	...this...
      	(memento_of_new_rvalue_from_double::replay_into):
      	...allowing this...
      	(memento_of_new_rvalue_from_ptr::replay_into):
      	...and this to be deleted.
      	(memento_of_new_rvalue_from_int::make_debug_string):
      	Convert to...
      	(memento_of_new_rvalue_from_const <int>::make_debug_string):
      	...this.
      	(memento_of_new_rvalue_from_double::make_debug_string):
      	Convert to...
      	(memento_of_new_rvalue_from_const <double>::make_debug_string):
      	...this.
      	(memento_of_new_rvalue_from_ptr::make_debug_string)
      	Convert to...
      	(memento_of_new_rvalue_from_const <void *>::make_debug_string):
      	...this.
      	(memento_of_new_rvalue_from_const <long>::make_debug_string):
      	New function.
      	* jit-recording.h: Within namespace gcc::jit::recording...
      	(context::new_rvalue_from_int): Eliminate.
      	(context::new_rvalue_from_double): Likewise.
      	(context::new_rvalue_from_ptr): Likewise, all in favor of...
      	(context::new_rvalue_from_const <HOST_TYPE>): New family of
      	methods.
      	(class memento_of_new_rvalue_from_int): Eliminate.
      	(class memento_of_new_rvalue_from_double): Likewise.
      	(class memento_of_new_rvalue_from_ptr): Likewise.
      	(class memento_of_new_rvalue_from_const <HOST_TYPE>): New family
      	of rvalue subclasses.
      	* libgccjit++.h (gccjit::context::new_rvalue): New overload, for
      	"long".
      	* libgccjit.c (gcc_jit_context_new_rvalue_from_int): Update for
      	rewriting of recording::context::new_rvalue_from_int to
      	recording::context::new_rvalue_from_const <int>.
      	(gcc_jit_context_new_rvalue_from_long): New API entrypoint.
      	(gcc_jit_context_new_rvalue_from_double): Update for
      	rewriting of recording::context::new_rvalue_from_double to
      	recording::context::new_rvalue_from_const <double>.
      	(gcc_jit_context_new_rvalue_from_ptr): Update for
      	rewriting of recording::context::new_rvalue_from_ptr to
      	recording::context::new_rvalue_from_const <void *>.
      	* libgccjit.h (gcc_jit_context_new_rvalue_from_long): New API
      	entrypoint.
      	* libgccjit.map (gcc_jit_context_new_rvalue_from_long): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/all-non-failing-tests.h: Add test-constants.c.
      	* jit.dg/test-combination.c (create_code): Likewise.
      	(verify_code): Likewise.
      	* jit.dg/test-constants.c: New test case.
      	* jit.dg/test-threads.c: Add test-constants.c.
      
      From-SVN: r219401
      David Malcolm committed
    • Handle CALL_INSN_FUNCTION_USAGE clobbers in regcprop.c · 486b97f2
      2015-01-09  Tom de Vries  <tom@codesourcery.com>
      
      	PR rtl-optimization/64539
      	* regcprop.c (kill_clobbered_values): Factor out of ...
      	(copyprop_hardreg_forward_1): ... here.  Use kill_clobbered_values
      	instead of note_stores with kill_clobbered_value.
      
      From-SVN: r219400
      Tom de Vries committed
    • Added PR libobjc/51891. · a5dbcace
      From-SVN: r219399
      Mike Stump committed
    • re PR libstdc++/64476 (std::uninitialized_copy tests assignability the wrong… · 0edf5aad
      re PR libstdc++/64476 (std::uninitialized_copy tests assignability the wrong way, resulting in performance pessimization)
      
      	PR libstdc++/64476
      	* include/bits/stl_uninitialized.h (uninitialized_copy): Fix
      	is_assignable arguments.
      	* testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
      	New.
      
      From-SVN: r219398
      Jonathan Wakely committed
    • ivars.c: Add a check for classes without instance variables... · 100bfe4a
      2015-01-09  Dimitris Papavasiliou  <dpapavas@gmail.com>
      
      	* ivars.c: Add a check for classes without instance
      	variables, which have a NULL ivar list pointer.
      
      2015-01-09  Dimitris Papavasiliou  <dpapavas@gmail.com>
      
      	* objc.dg/gnu-api-2-class.m: Add a test case
      	for the above change.
      
      From-SVN: r219396
      Dimitris Papavasiliou committed
    • PR jit/64206: delay cleanup of tempdir if the user has requested debuginfo · d2286af3
      gcc/jit/ChangeLog:
      	PR jit/64206
      	* docs/internals/test-hello-world.exe.log.txt: Update, the log now
      	shows tempdir creation/cleanup.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-logging.h (class gcc::jit::log_user): Add gcc::jit::tempdir
      	to the list of subclasses in the comment.
      	* jit-playback.c (gcc::jit::playback::context::context): Add a
      	comment clarifying when the tempdir gets cleaned up.
      	(gcc::jit::playback::context::compile): Pass the context's logger,
      	if any, to the tempdir.
      	(gcc::jit::playback::context::dlopen_built_dso): When creating the
      	gcc::jit::result, if GCC_JIT_BOOL_OPTION_DEBUGINFO is set, hand
      	over ownership of the tempdir to it.
      	* jit-result.c: Include "jit-tempdir.h".
      	(gcc::jit::result::result): Add tempdir param, saving it as
      	m_tempdir.
      	(gcc::jit::result::~result): Delete m_tempdir.
      	* jit-result.h (gcc::jit::result::result): Add tempdir param.
      	(gcc::jit::result::m_tempdir): New field.
      	* jit-tempdir.c (gcc::jit::tempdir::tempdir): Add logger param;
      	add JIT_LOG_SCOPE.
      	(gcc::jit::tempdir::create): Add JIT_LOG_SCOPE to log entry/exit,
      	and log m_path_template and m_path_tempdir.
      	(gcc::jit::tempdir::~tempdir): Add JIT_LOG_SCOPE to log
      	entry/exit, and log the unlink and rmdir calls.
      	* jit-tempdir.h: Include "jit-logging.h".
      	(class gcc::jit::tempdir): Make this be a subclass of log_user.
      	(gcc::jit::tempdir::tempdir): Add logger param.
      	* notes.txt: Update to show the two possible places where the
      	tempdir can be cleaned up.
      
      From-SVN: r219395
      David Malcolm committed
    • unwind-arm-common.h: Revert previous commit. · 4c470097
      gcc:
          * ginclude/unwind-arm-common.h: Revert previous commit.
      
      libstdc++-v3:
          * libsupc++/unwind-cxx.h: Revert previous commit.
      
      From-SVN: r219392
      Andreas Tobler committed
    • configure.ac: Don't add ${libgcj} for arm*-*-freebsd*. · 82a19768
      toplevel:
      
          * configure.ac: Don't add ${libgcj} for arm*-*-freebsd*.
          * configure: Regenerate.
      gcc:
          * config.gcc (arm*-*-freebsd*): New configuration.
          * config/arm/freebsd.h: New file.
          * config.host: Add extra components for arm*-*-freebsd*.
          * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
          * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
      
      libgcc:
      
          * config.host (arm*-*-freebsd*): Add new configuration for
          arm*-*-freebsd*.
          * config/arm/freebsd-atomic.c: New file.
          * config/arm/t-freebsd: Likewise.
          * config/arm/unwind-arm.h: Add __FreeBSD__ to the list of
          'PC-relative indirect' OS's.
      
      libatomic:
      
          * configure.tgt: Exclude arm*-*-freebsd* from try_ifunc.
      
      libstdc++-v3:
      
          * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
      
      From-SVN: r219388
      Andreas Tobler committed
    • RTEMS: Add e6500 multilibs for PowerPC · 887974fd
      Use 32-bit instructions only since currently there is no demand for a
      larger address space.  Provide one multilib with FPU and AltiVec support
      and one without.
      
      gcc/ChangeLog
      
      	* config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
      	for -mcpu=e6500.
      	* config/rs6000/t-rtems: Add e6500 multilibs.
      
      From-SVN: r219387
      Sebastian Huber committed
    • RTEMS: Fix MPC8540 multilibs for PowerPC · 3bfc2fa3
      GCC generates SPE instructions even if -msoft-float is specified.
      Explicitly add -mno-spe to prevent generation of SPE instructions.  This
      multilib variant must not lead to a usage of the SPE.
      
      gcc/ChangeLog
      
      	* config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
      	MPC8540.
      
      From-SVN: r219385
      Sebastian Huber committed
    • RTEMS: Use MULTILIB_REQUIRED for PowerPC · 02f6062b
      gcc/ChangeLog
      
      	* config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
      	MULTILIB_EXCEPTIONS.
      
      From-SVN: r219384
      Sebastian Huber committed
    • RTEMS: Use MULTILIB_REQUIRED for ARM · 2f2eb5ad
      gcc/ChangeLog
      
      	* config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
      	MULTILIB_EXCEPTIONS.
      
      From-SVN: r219383
      Sebastian Huber committed
    • RTEMS: Rename ARM target config files · 5be0a29b
      Now that we only have the EABI configuration for RTEMS rename the files
      to match the pattern used for the other RTEMS targets.
      
      gcc/ChangeLog
      
      	* config/arm/t-rtems-eabi: Rename to...
      	* config/arm/t-rtems: ...this.
      	* config/arm/rtems-eabi.h: Rename to...
      	* config/arm/rtems.h: ...this.
      	* config.gcc (arm*-*-rtems*): Reflect changes above.
      
      From-SVN: r219382
      Sebastian Huber committed
    • typeof-2.c: Add checks for non-atomic types. · 88d24a09
      gcc/testsuite/gcc.dg/typeof-2.c
      
      gcc/testsuite/ChangeLog
      
      	* gcc.dg/typeof-2.c: Add checks for non-atomic types.
      
      From-SVN: r219381
      Sebastian Huber committed
    • re PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers) · 2f278249
      2015-01-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/64410
      	* tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
      	on the LHS.
      	(execute_update_addresses_taken): Deal with that.
      	* tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
      	loads/stores for complex variables.
      
      	* g++.dg/vect/pr64410.cc: New testcase.
      
      From-SVN: r219380
      Richard Biener committed
    • IPA ICF: compare_operand is split to multiple functions. · 520b3022
      	* ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
      	name comparison.
      	(func_checker::compare_memory_operand): New function.
      	(func_checker::compare_operand): Split case to newly
      	added functions.
      	(func_checker::compare_cst_or_decl): New function.
      	(func_checker::compare_gimple_call): Identify
      	memory operands.
      	(func_checker::compare_gimple_assign): Likewise.
      	* ipa-icf-gimple.h: New function.
      
      From-SVN: r219379
      Martin Liska committed
    • Fix for ipa/PR64503 · ce9401b4
      	PR ipa/64503
      	* sreal.c (sreal::dump): Change unsigned format to signed for
      	m_exp value.
      	(sreal::to_double): Replace exp2 with scalbln.
      
      From-SVN: r219378
      Martin Liska committed
    • IPA ICF: target and optimization flags comparison. · 3f9f4ae7
      	* cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
      	* ipa-icf.c (sem_function::equals_private): Add support for target and
      	(sem_item_optimizer::merge_classes): Remove redundant function
      	optimization flags comparison.
      	* tree.h (target_opts_for_fn): New function.
      	* gcc.dg/ipa/ipa-icf-32.c: New test.
      
      From-SVN: r219377
      Martin Liska committed
    • Fix gcc_assert in expand_omp_for_static_chunk · 56f6033d
      2015-01-09  Tom de Vries  <tom@codesourcery.com>
      
      	* omp-low.c (expand_omp_for_static_chunk): Fix assert.
      
      From-SVN: r219376
      Tom de Vries committed
    • re PR target/64348 (Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC) · c61fe0cc
      2015-01-09  Kito Cheng  <kito@0xlab.org>
      
      	PR rtl-optimization/64348
      	* lra-constraints.c (split_reg): Fix caller-save store/restore
      	instruction generation.
      
      From-SVN: r219375
      Kito Cheng committed
    • re PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position) · a8e67466
      	PR libstdc++/64239
      	* include/bits/regex.h (match_results<>::swap): Use std::swap
      	instead of swap.
      	* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
      	Likewise.
      	* testsuite/28_regex/match_results/swap.cc: New testcase.
      
      From-SVN: r219373
      Tim Shen committed
    • re PR gcov-profile/61790 (gcov-tool.c uses atoll) · e608ef6d
      	PR gcov-profile/61790
      	* gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
      	long long.  Fallback to int64_t if host doesn't have long long and
      	use strtol if int64_t is long.  Otherwise, use sscanf for conversion.
      
      From-SVN: r219372
      John David Anglin committed
    • Daily bump. · fe7d7447
      From-SVN: r219371
      GCC Administrator committed
  2. 08 Jan, 2015 16 commits
    • tsan_barrier.h: New. · 75d1c391
      2015-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-c++-common/tsan/tsan_barrier.h: New.
              * c-c++-common/tsan/atomic_stack.c: Reworked to not depend on sleep.
              * c-c++-common/tsan/bitfield_race.c: Likewise.
              * c-c++-common/tsan/fd_pipe_race.c: Likewise.
              * c-c++-common/tsan/mutexset1.c: Likewise.
              * c-c++-common/tsan/race_on_barrier.c: Likewise.
              * c-c++-common/tsan/race_on_mutex.c: Likewise.
              * c-c++-common/tsan/race_on_mutex2.c: Likewise.
              * c-c++-common/tsan/simple_race.c: Likewise.
              * c-c++-common/tsan/simple_stack.c: Likewise.
              * c-c++-common/tsan/sleep_sync.c: Likewise.
              * c-c++-common/tsan/tiny_race.c: Likewise.
              * c-c++-common/tsan/tls_race.c: Likewise.
              * c-c++-common/tsan/write_in_reader_lock.c: Likewise.
              * g++.dg/tsan/aligned_vs_unaligned_race.C: Likewise.
              * g++.dg/tsan/atomic_free.C: Likewise.
              * g++.dg/tsan/atomic_free2.C: Likewise.
              * g++.dg/tsan/cond_race.C: Likewise.
              * g++.dg/tsan/tsan_barrier.h: Copied from c-c++-common/tsan.
      
      From-SVN: r219367
      Bernd Edlinger committed
    • libgccjit.h: Fix description of struct gcc_jit_context · 7c8db13e
      gcc/jit/ChangeLog:
      	* libgccjit.h (struct gcc_jit_context): Rewrite the descriptive
      	comment.
      
      From-SVN: r219366
      David Malcolm committed
    • re PR testsuite/62250 (FAIL: gfortran.dg/coarray/alloc_comp_1.f90 -fcoarray=lib -O2 -lcaf_single) · 52a98b30
      	PR testsuite/62250
      	* lib/target-supports.exp (check_effective_target_libatomic_available):
      	New.
      	* gfortran.dg/coarray/caf.exp: Only add -latomic for
      	targets that match effective-target libatomic_available.
      	* gfortran.dg/coarray_lib_comm_1.f90: Similar.
      
      From-SVN: r219365
      Hans-Peter Nilsson committed
    • re PR testsuite/62250 (FAIL: gfortran.dg/coarray/alloc_comp_1.f90 -fcoarray=lib -O2 -lcaf_single) · b85449ad
      	PR testsuite/62250
      	* lib/target-supports.exp (check_effective_target_libatomic_available):
      	New.
      	* gfortran.dg/coarray/caf.exp: Only add -latomic for
      	targets that match effective-target libatomic_available.
      	* gfortran.dg/coarray_lib_comm_1.f90: Similar.
      
      From-SVN: r219364
      Hans-Peter Nilsson committed
    • jit: New API entrypoint: gcc_jit_context_get_last_error · 303e1d56
      gcc/jit/ChangeLog:
      	* docs/topics/contexts.rst (Error-handling): Document new
      	entrypoint gcc_jit_context_get_last_error.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-recording.c (gcc::jit::recording::context::context):
      	Initialize new fields "m_last_error_str" and
      	"m_owns_last_error_str".
      	(gcc::jit::recording::context::~context): Clean up
      	m_last_error_str, if needed.
      	(gcc::jit::recording::context::add_error_va): Update
      	m_last_error_str and m_owns_last_error_str, freeing the old
      	value if appropriate.
      	(gcc::jit::recording::context::get_last_error): New function.
      	* jit-recording.h (gcc::jit::recording::context::get_last_error):
      	New function.
      	(gcc::jit::recording::context): New fields m_last_error_str and
      	m_owns_last_error_str.
      	* libgccjit.c (gcc_jit_context_get_last_error): New function.
      	* libgccjit.h (gcc_jit_context_get_last_error): New declaration.
      	* libgccjit.map (gcc_jit_context_get_last_error): New function.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/test-error-block-in-wrong-function.c (verify_code):
      	Verify the result of gcc_jit_context_get_last_error.
      	* jit.dg/test-error-null-passed-to-api.c (verify_code): Likewise.
      
      From-SVN: r219363
      David Malcolm committed
    • re PR tree-optimization/63989 (tree-ssa-strlen.c doesn't handle constant pointer… · 204a913b
      re PR tree-optimization/63989 (tree-ssa-strlen.c doesn't handle constant pointer plus and array refs if constant offset is smaller than known constant string length)
      
      	PR tree-optimization/63989
      	* params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
      	from 1000 to 10000.
      	* tree-ssa-strlen.c (get_strinfo): Moved earlier.
      	(get_stridx): If we don't have a record for certain SSA_NAME,
      	but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
      	constant offset, call get_stridx_plus_constant.
      	(get_stridx_plus_constant): New function.
      	(zero_length_string): Don't use get_stridx here.
      
      	* gcc.dg/strlenopt-27.c: New test.
      
      From-SVN: r219362
      Jakub Jelinek committed
    • re PR target/55023 (hppa: wrong code generated with tail call optimisation) · 57534689
      	PR target/55023
      	PR middle-end/64388
      	* dse.c (struct insn_info): Mention frame_read set also
      	before reload for tail calls on some targets.
      	(scan_insn): Revert 2014-12-22 change.  Set frame_read
      	also before reload for tail calls if
      	HARD_FRAME_POINTER_IS_ARG_POINTER.  Call add_wild_read
      	instead of add_non_frame_wild_read for non-const/memset
      	tail calls after reload.
      
      From-SVN: r219361
      Jakub Jelinek committed
    • ubsan.c (do_ubsan_in_current_function): New. · f5481fc4
      gcc/
      	* ubsan.c (do_ubsan_in_current_function): New.
      	(pass_ubsan::gate): Use it.
      	* ubsan.h: Declare it.
      	* convert.c (convert_to_integer): Use it.
      gcc/c-family/
      	* c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
      	do_ubsan_in_current_function.
      	(ubsan_maybe_instrument_reference_or_call): Likewise.
      	* c-ubsan.h: Declare it.
      gcc/cp/
      	* cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
      	* decl.c (compute_array_index_type): Likewise.
      	* init.c (build_vec_init): Likewise.
      	* typeck.c (cp_build_binary_op): Likewise.
      
      From-SVN: r219360
      Jason Merrill committed
    • init.c (build_vec_init): Call ubsan_instrument_bounds to check whether an… · 46621807
      init.c (build_vec_init): Call ubsan_instrument_bounds to check whether an initializer-list is too big...
      
      	* init.c (build_vec_init): Call ubsan_instrument_bounds to check
      	whether an initializer-list is too big for a VLA.
      	(throw_bad_array_length): Remove.
      	* cp-tree.h: Remove prototype.
      
      From-SVN: r219359
      Jason Merrill committed
    • cmd/go: Use builtin constant to set default gccgo compiler. · d9ebff44
      Don't look it up on PATH.  This lets a go tool built as part
      of a GCC build use the gccgo from the same build.
      
      Also pass -c when assembling a .s file with gccgo.
      
      From-SVN: r219358
      Ian Lance Taylor committed
    • New jit API entrypoint: gcc_jit_context_set_logfile · eb4c16eb
      gcc/jit/ChangeLog:
      	* Make-lang.in (jit_OBJS): Add jit/jit-logging.o.
      	* docs/internals/index.rst (Overview of code structure): Mention
      	gcc_jit_context_set_logfile, and embed the example logfile.
      	* docs/internals/test-hello-world.exe.log.txt: New file: example
      	of a logfile.
      	* docs/topics/contexts.rst (Debugging): Add documentation
      	for gcc_jit_context_set_logfile.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* dummy-frontend.c: Include "jit-logging.h".
      	(jit_langhook_init): Assert that there is an active playback
      	context.  If it has a logger, log entry/exit to this function.
      	(jit_langhook_write_globals): Likewise.
      	* jit-common.h (gcc::jit::logger): New forward declaration.
      	* jit-logging.c: New file.
      	* jit-logging.h: New file.
      	* jit-playback.c: Include "jit-logging.h".
      	(gcc::jit::playback::context::context): Initialize the log_user
      	base class from the recording context's logger (if any).  Use
      	JIT_LOG_SCOPE to log entry/exit from the function body.
      	(gcc::jit::playback::context::~context): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::playback::build_stmt_list): Likewise.
      	(gcc::jit::playback::function::postprocess): Likewise.
      	(gcc::jit::playback::context::compile): Likewise.  Log the
      	entry/exit to toplev::main and toplev::finalize.  Log the
      	fake argv passed to toplev::main.
      	(gcc::jit::playback::context::acquire_mutex): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::playback::context::release_mutex): Likewise.
      	(gcc::jit::playback::context::make_fake_args): Likewise.
      	(gcc::jit::playback::context::extract_any_requested_dumps):
      	Likewise.
      	(gcc::jit::playback::context::convert_to_dso): Likewise. Also,
      	log the arguments that the driver is invoked with.
      	(gcc::jit::playback::context::dlopen_built_dso): Likewise.  Pass
      	the logger to the result object.
      	(gcc::jit::playback::context::replay): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::playback::context::dump_generated_code): Likewise.
      	(gcc::jit::playback::context::handle_locations): Likewise.
      	* jit-playback.h (gcc::jit::playback::context): Make this be
      	a subclass of gcc::jit::log_user.
      	* jit-recording.c: Include "jit-logging.h".
      	(gcc::jit::recording::context::context: Initialize the logger to
      	NULL for root contexts, or to the parent's logger for child
      	contexts.
      	(gcc::jit::recording::context::~context): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::recording::context::replay_into): Likewise.
      	(gcc::jit::recording::context::disassociate_from_playback):
      	Likewise.
      	(gcc::jit::recording::context::compile): Likewise.
      	(recording::context::add_error_va): Likewise.  Also, log the
      	error.
      	(gcc::jit::recording::context::validate): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	* jit-recording.h: Include "jit-logging.h".
      	(gcc::jit::recording::context): Make this be a subclass of
      	gcc::jit::log_user.
      	* jit-result.c: Include "jit-common.h" and "jit-logging.h".
      	(gcc::jit::result::result): Add logger param, recording it.
      	Use JIT_LOG_SCOPE to log entry/exit from the function body.
      	(gcc::jit::result::~result(): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::result::get_code): Likewise.
      	* jit-result.h (gcc::jit::result): Make this be a subclass of
      	gcc::jit::log_user.
      	(gcc::jit::result::result): Add logger parameter.
      	* libgccjit++.h (gccjit::context::set_logfile): New function.
      	* libgccjit.c: Include "jit-logging.h".
      	(gcc_jit_context_acquire): Log the context.
      	(gcc_jit_context_release): Use JIT_LOG_FUNC to
      	log entry/exit from the function body, and log the context.
      	(gcc_jit_context_new_child_context): Likewise, logging both
      	contexts.
      	(gcc_jit_context_new_location): Use JIT_LOG_FUNC to
      	log entry/exit from the function body.
      	(gcc_jit_context_get_type): Likewise.
      	(gcc_jit_context_get_int_type): Likewise.
      	(gcc_jit_context_new_array_type): Likewise.
      	(gcc_jit_context_new_field): Likewise.
      	(gcc_jit_context_new_struct_type): Likewise.
      	(gcc_jit_context_new_opaque_struct): Likewise.
      	(gcc_jit_struct_set_fields): Likewise.
      	(gcc_jit_context_new_union_type): Likewise.
      	(gcc_jit_context_new_function_ptr_type): Likewise.
      	(gcc_jit_context_new_param): Likewise.
      	(gcc_jit_context_new_function): Likewise.
      	(gcc_jit_context_get_builtin_function): Likewise.
      	(gcc_jit_function_get_param): Likewise.
      	(gcc_jit_function_dump_to_dot): Likewise.
      	(gcc_jit_function_new_block): Likewise.
      	(gcc_jit_context_new_global): Likewise.
      	(gcc_jit_context_new_rvalue_from_int): Likewise.
      	(gcc_jit_context_zero): Likewise.
      	(gcc_jit_context_one): Likewise.
      	(gcc_jit_context_new_rvalue_from_double): Likewise.
      	(gcc_jit_context_new_rvalue_from_ptr): Likewise.
      	(gcc_jit_context_null): Likewise.
      	(gcc_jit_context_new_string_literal): Likewise.
      	(gcc_jit_context_new_unary_op): Likewise.
      	(gcc_jit_context_new_binary_op): Likewise.
      	(gcc_jit_context_new_comparison): Likewise.
      	(gcc_jit_context_new_call): Likewise.
      	(gcc_jit_context_new_call_through_ptr): Likewise.
      	(gcc_jit_context_new_cast): Likewise.
      	(gcc_jit_context_new_array_access): Likewise.
      	(gcc_jit_lvalue_access_field): Likewise.
      	(gcc_jit_rvalue_access_field): Likewise.
      	(gcc_jit_rvalue_dereference_field): Likewise.
      	(gcc_jit_rvalue_dereference): Likewise.
      	(gcc_jit_lvalue_get_address): Likewise.
      	(gcc_jit_function_new_local): Likewise.
      	(gcc_jit_block_add_eval): Likewise.
      	(gcc_jit_block_add_assignment): Likewise.
      	(gcc_jit_block_add_assignment_op): Likewise.
      	(gcc_jit_block_end_with_conditional): Likewise.
      	(gcc_jit_block_add_comment): Likewise.
      	(gcc_jit_block_end_with_jump): Likewise.
      	(gcc_jit_block_end_with_return): Likewise.
      	(gcc_jit_block_end_with_void_return): Likewise.
      	(gcc_jit_context_set_str_option): Likewise.
      	(gcc_jit_context_set_int_option): Likewise.
      	(gcc_jit_context_set_bool_option): Likewise.
      	(gcc_jit_context_enable_dump): Likewise.
      	(gcc_jit_context_compile): Likewise.  Also log the context,
      	and the result.
      	(gcc_jit_context_dump_to_file): Likewise.
      	(gcc_jit_context_set_logfile): New function.
      	(gcc_jit_context_get_first_error): Use JIT_LOG_FUNC to
      	log entry/exit from the function body.
      	(gcc_jit_result_get_code): Likewise.  Also log the fnname)
      	and the ptr to be returned.
      	(gcc_jit_result_release): Likewise.  Also log the result.
      	* libgccjit.h: Include <stdio.h>, since we need FILE *.
      	(gcc_jit_context_set_logfile): New declaration.
      	* libgccjit.map (gcc_jit_context_set_logfile): New.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/harness.h (set_up_logging): New function.
      	(test_jit): Fail if gcc_jit_context_acquire fails.  Call
      	set_up_logging on the context, so that every testcase is
      	logged to a particular file.
      	* jit.dg/test-nested-contexts.c (main): Open a logfile,
      	and call gcc_jit_context_set_logfile on the top-level context.
      
      From-SVN: r219357
      David Malcolm committed
    • re PR target/64338 (ICE in swap_condition, at jump.c:628) · efa7df3c
      	PR target/64338
      	* config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
      	compare_code when it is unconditionally overwritten afterwards.
      	Use ix86_reverse_condition instead of reverse_condition.  Don't
      	change code if *reverse_condition* returned UNKNOWN and don't
      	swap ct/cf and negate diff in that case.
      
      	* g++.dg/opt/pr64338.C: New test.
      
      From-SVN: r219356
      Jakub Jelinek committed
    • tsan.c (pass_tsan::gate): Add no_sanitize_thread support. · de35aa66
      	* tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
      	  (pass_tsan_O0::gate): Likewise.
      	* extend.texi (Function Attributes): Add no_sanitize_thread
      	  documentation.
      
      	* c-common.c (c_common_attribute_table): Add no_sanitize_thread.
      
      From-SVN: r219355
      Mike Stump committed
    • trans-decl.c (gfc_build_qualified_array): Fix coarray tokens for module coarrays… · de1184c0
      trans-decl.c (gfc_build_qualified_array): Fix coarray tokens for module coarrays with -fcoarray=lib.
      
      2015-01-08  Tobias Burnus  <burnus@net-b.de>
      
              * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
              for module coarrays with -fcoarray=lib.
              (get_proc_pointer_decl): As module variable, make only public
              when not marked as private.
      
              * gfortran.dg/coarray/codimension_2b.f90: New file.
              * gfortran.dg/coarray/codimension_2.f90: Add it to
              * dg-extra-sources.
              * gfortran.dg/coarray/codimension_2.f90: Call its subroutine.
      
      From-SVN: r219354
      Tobias Burnus committed
    • re PR c++/59004 (ICE generated by __func__) · ec124043
      2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59004
      	* g++.dg/ext/fnname4.C: New.
      
      From-SVN: r219353
      Paolo Carlini committed
    • re PR c++/64462 (ICE while compiling lambda using local constexpr reference variable) · 8b93f829
      2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64462
      	* g++.dg/cpp0x/constexpr-64462.C: New.
      
      From-SVN: r219352
      Paolo Carlini committed