Commit Graph

135482 Commits

Author SHA1 Message Date
Ian Lance Taylor
bf1de3f0ac configure.ac (host_tools): Add gotools.
./:2015-01-09  Ian Lance Taylor  <iant@google.com>

	* configure.ac (host_tools): Add gotools.
	* Makefile.def (host_modules): Add gotools.
	(dependencies): Add dependency of all-gotools on all-target-libgo.

gcc/go/:
2015-01-09  Ian Lance Taylor  <iant@google.com>

	* config-lang.in (lang_dirs): Define.

gotools/:
2015-01-09  Ian Lance Taylor  <iant@google.com>

	* Initial implementation.

From-SVN: r219407
2015-01-09 21:23:09 +00:00
Ian Lance Taylor
b44fb4c37a cmd/go: Adjust finding gccgo to match current upstream sources.
From-SVN: r219406
2015-01-09 21:18:04 +00:00
Jakub Jelinek
adfac8dfed re PR rtl-optimization/64536 (Undefined .L* symbol starting with jump2 on s390x)
PR rtl-optimization/64536
	* cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
	tablejumps.

	* gcc.dg/pr64536.c: New test.

From-SVN: r219405
2015-01-09 22:17:10 +01:00
David Malcolm
ec37f1bc59 Add new file gcc/testsuite/jit.dg/test-constants.c erroneously omitted from r219401
From-SVN: r219404
2015-01-09 21:13:49 +00:00
Michael Collison
40e2396121 genattrtab.c (write_header): Include hash-set.h...
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
2015-01-09 20:18:42 +00:00
David Malcolm
ccce3b2ac3 New jit API entrypoint: gcc_jit_context_new_rvalue_from_long
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
2015-01-09 20:10:11 +00:00
Tom de Vries
486b97f297 Handle CALL_INSN_FUNCTION_USAGE clobbers in regcprop.c
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
2015-01-09 18:54:20 +00:00
Mike Stump
a5dbcace37 Added PR libobjc/51891.
From-SVN: r219399
2015-01-09 18:12:51 +00:00
Jonathan Wakely
0edf5aadea 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
2015-01-09 18:02:47 +00:00
Dimitris Papavasiliou
100bfe4a97 ivars.c: Add a check for classes without instance variables...
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
2015-01-09 17:55:57 +00:00
David Malcolm
d2286af3d3 PR jit/64206: delay cleanup of tempdir if the user has requested debuginfo
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
2015-01-09 17:01:04 +00:00
Andreas Tobler
4c470097be unwind-arm-common.h: Revert previous commit.
gcc:
    * ginclude/unwind-arm-common.h: Revert previous commit.

libstdc++-v3:
    * libsupc++/unwind-cxx.h: Revert previous commit.

From-SVN: r219392
2015-01-09 15:22:19 +01:00
Andreas Tobler
82a19768cb configure.ac: Don't add ${libgcj} for arm*-*-freebsd*.
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
2015-01-09 15:06:02 +01:00
Sebastian Huber
887974fda2 RTEMS: Add e6500 multilibs for PowerPC
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
2015-01-09 13:57:55 +00:00
Sebastian Huber
3bfc2fa3f4 RTEMS: Fix MPC8540 multilibs for PowerPC
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
2015-01-09 13:50:08 +00:00
Sebastian Huber
02f6062b4c RTEMS: Use MULTILIB_REQUIRED for PowerPC
gcc/ChangeLog

	* config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
	MULTILIB_EXCEPTIONS.

From-SVN: r219384
2015-01-09 13:48:03 +00:00
Sebastian Huber
2f2eb5ad8e RTEMS: Use MULTILIB_REQUIRED for ARM
gcc/ChangeLog

	* config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
	MULTILIB_EXCEPTIONS.

From-SVN: r219383
2015-01-09 13:41:16 +00:00
Sebastian Huber
5be0a29be1 RTEMS: Rename ARM target config files
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
2015-01-09 13:38:21 +00:00
Sebastian Huber
88d24a099f typeof-2.c: Add checks for non-atomic types.
gcc/testsuite/gcc.dg/typeof-2.c

gcc/testsuite/ChangeLog

	* gcc.dg/typeof-2.c: Add checks for non-atomic types.

From-SVN: r219381
2015-01-09 13:26:26 +00:00
Richard Biener
2f2782497a re PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers)
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
2015-01-09 11:14:55 +00:00
Martin Liska
520b302213 IPA ICF: compare_operand is split to multiple functions.
* 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
2015-01-09 10:45:18 +00:00
Martin Liska
ce9401b43f Fix for ipa/PR64503
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
2015-01-09 10:38:49 +00:00
Martin Liska
3f9f4ae705 IPA ICF: target and optimization flags comparison.
* 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
2015-01-09 10:33:00 +00:00
Tom de Vries
56f6033d2b Fix gcc_assert in expand_omp_for_static_chunk
2015-01-09  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (expand_omp_for_static_chunk): Fix assert.

From-SVN: r219376
2015-01-09 09:19:44 +00:00
Kito Cheng
c61fe0cc56 re PR target/64348 (Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC)
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
2015-01-09 06:19:32 +00:00
Tim Shen
a8e67466d3 re PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position)
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
2015-01-09 03:58:59 +00:00
John David Anglin
e608ef6de9 re PR gcov-profile/61790 (gcov-tool.c uses atoll)
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
2015-01-09 00:50:49 +00:00
GCC Administrator
fe7d744747 Daily bump.
From-SVN: r219371
2015-01-09 00:16:46 +00:00
Bernd Edlinger
75d1c391e4 tsan_barrier.h: New.
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
2015-01-08 22:17:49 +00:00
David Malcolm
7c8db13ee3 libgccjit.h: Fix description of struct gcc_jit_context
gcc/jit/ChangeLog:
	* libgccjit.h (struct gcc_jit_context): Rewrite the descriptive
	comment.

From-SVN: r219366
2015-01-08 22:08:41 +00:00
Hans-Peter Nilsson
52a98b30b7 re PR testsuite/62250 (FAIL: gfortran.dg/coarray/alloc_comp_1.f90 -fcoarray=lib -O2 -lcaf_single)
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
2015-01-08 21:59:26 +00:00
Hans-Peter Nilsson
b85449adb9 re PR testsuite/62250 (FAIL: gfortran.dg/coarray/alloc_comp_1.f90 -fcoarray=lib -O2 -lcaf_single)
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
2015-01-08 21:57:49 +00:00
David Malcolm
303e1d56c6 jit: New API entrypoint: gcc_jit_context_get_last_error
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
2015-01-08 21:52:35 +00:00
Jakub Jelinek
204a913bda 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
2015-01-08 22:30:56 +01:00
Jakub Jelinek
57534689d7 re PR target/55023 (hppa: wrong code generated with tail call optimisation)
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
2015-01-08 22:29:44 +01:00
Jason Merrill
f5481fc443 ubsan.c (do_ubsan_in_current_function): New.
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
2015-01-08 16:27:22 -05:00
Jason Merrill
46621807e9 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
2015-01-08 15:58:39 -05:00
Ian Lance Taylor
d9ebff44bb cmd/go: Use builtin constant to set default gccgo compiler.
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
2015-01-08 20:32:42 +00:00
David Malcolm
eb4c16eb84 New jit API entrypoint: gcc_jit_context_set_logfile
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
2015-01-08 19:41:07 +00:00
Jakub Jelinek
efa7df3c62 re PR target/64338 (ICE in swap_condition, at jump.c:628)
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
2015-01-08 20:15:53 +01:00
Mike Stump
de35aa66b0 tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
* 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
2015-01-08 18:56:11 +00:00
Tobias Burnus
de1184c0de 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
2015-01-08 19:09:25 +01:00
Paolo Carlini
ec1240433d re PR c++/59004 (ICE generated by __func__)
2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59004
	* g++.dg/ext/fnname4.C: New.

From-SVN: r219353
2015-01-08 18:04:03 +00:00
Paolo Carlini
8b93f82995 re PR c++/64462 (ICE while compiling lambda using local constexpr reference variable)
2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64462
	* g++.dg/cpp0x/constexpr-64462.C: New.

From-SVN: r219352
2015-01-08 17:48:38 +00:00
Jonathan Wakely
c66b93fe20 re PR libstdc++/60132 (C++11: lack of is_trivially_copy_constructible)
PR libstdc++/60132
	* include/std/type_traits (has_trivial_default_constructor,
	has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
	attribute.
	* testsuite/20_util/has_trivial_copy_assign/requirements/
	explicit_instantiation.cc: Use -Wno-deprecated.
	* testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/requirements/
	explicit_instantiation.c: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/value.cc:
	Likewise.
	* testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
	trait.
	* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
	* testsuite/util/testsuite_common_types.h: Likewise.

From-SVN: r219350
2015-01-08 16:24:55 +00:00
Thomas Schwinge
b335ef4e99 libgomp: Fix 32-bit x86 Intel MIC offloading testing.
[...]
    spawn [...]/build-gcc/gcc/xgcc -B[...]/build-gcc/gcc/ [...]/source-gcc/libgomp/testsuite/libgomp.c/examples-4/e.50.1.c -B[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/ -B[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/.libs -I[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp -I[...]/source-gcc/libgomp/testsuite/.. -march=i486 -fmessage-length=0 -fno-diagnostics-show-caret -fdiagnostics-color=never -B[...]/install/offload-x86_64-intelmicemul-linux-gnu/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0 -B[...]/install/offload-x86_64-intelmicemul-linux-gnu/bin -fopenmp -O2 -L[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/.libs -lm -m32 -o ./e.50.1.exe
    PASS: libgomp.c/examples-4/e.50.1.c (test for excess errors)
    Setting LD_LIBRARY_PATH to .:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../liboffloadmic/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../liboffloadmic/plugin/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../libstdc++-v3/src/.libs:[...]/install/offload-x86_64-intelmicemul-linux-gnu/lib64:[...]/install/offload-x86_64-intelmicemul-linux-gnu/lib:[...]/build-gcc/gcc:[...]/build-gcc/gcc/32:.:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../liboffloadmic/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../liboffloadmic/plugin/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../libstdc++-v3/src/.libs:[...]/install/offload-x86_64-intelmicemul-linux-gnu/lib64:[...]/install/offload-x86_64-intelmicemul-linux-gnu/lib:[...]/build-gcc/gcc:[...]/build-gcc/gcc/32:[...]/build-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libsanitizer/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libvtv/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libcilkrts/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/liboffloadmic/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libssp/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libgomp/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libitm/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libatomic/.libs:[...]/build-gcc/./gcc:[...]/build-gcc/./prev-gcc
    spawn [open ...]
    /tmp/offload_WCXKRZ/offload_target_main: error while loading shared libraries: liboffloadmic_target.so.5: wrong ELF class: ELFCLASS64
    WARNING: program timed out.
    FAIL: libgomp.c/examples-4/e.50.1.c execution test
    [...]

    $ find -name liboffloadmic_target.so.5
    ./install/offload-x86_64-intelmicemul-linux-gnu/lib64/liboffloadmic_target.so.5
    ./install/offload-x86_64-intelmicemul-linux-gnu/lib32/liboffloadmic_target.so.5
    ./build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/32/liboffloadmic/.libs/liboffloadmic_target.so.5
    ./build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/liboffloadmic/.libs/liboffloadmic_target.so.5

This is a "standard" GCC configuration: x86_64-intelmicemul-linux-gnu with
(default) multilibs enabled.

	libgomp/
	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
	"$tgt_dir/lib32".
	* configure: Regenerate.

From-SVN: r219349
2015-01-08 17:01:37 +01:00
Thomas Schwinge
f9a0eca40d libgomp: Fix "intelmic" offloading in build-tree testing.
libgomp/
	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
	"intelmic" in $offload_targets.

From-SVN: r219348
2015-01-08 17:01:24 +01:00
Paolo Carlini
247ecdf3b8 re PR c++/60753 (Deleted definition of an explicit function template specialization, following a declaration, incorrectly accepted)
/cp
2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60753
	* decl.c (grokfndecl): Add bool parameter.
	(grokdeclarator): Adjust calls.
	(start_decl): Don't set DECL_DELETED_FN here.

/testsuite
2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60753
	* g++.dg/cpp0x/deleted10.C: New.

From-SVN: r219347
2015-01-08 15:48:36 +00:00
Thomas Schwinge
45f46750a3 Make sure that OMP builtins are available in offloading compilers.
gcc/
	* builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
	for registering builtins.
	* config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
	add -fopenmp to the argv_obstack used when invoking
	compile_for_target.

From-SVN: r219346
2015-01-08 16:41:13 +01:00
Thomas Schwinge
4f929d9da1 intelmic-mkoffload: Deal with linker defaulting to 32-bit x86 mode.
... which explicitly has to be switched into 64-bit x86_64 mode.

	gcc/
	* config/i386/intelmic-mkoffload.c (compile_for_target): Always
	add "-m32" or "-m64" to argv_obstack.
	(generate_host_descr_file): Likewise, when invoking host_compiler.
	(main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
	ld.

From-SVN: r219345
2015-01-08 15:58:45 +01:00