Commit Graph

136888 Commits

Author SHA1 Message Date
Aldy Hernandez fc30054eff re PR bootstrap/25672 (cross build's libgcc picks up CFLAGS)
PR bootstrap/25672
	* configure.ac: Do not initialize CFLAGS_FOR_TARGET from CFLAGS if
	cross-compiling.  Similarly for CXX_FOR_TARGET.
	* configure: Regenerate.

From-SVN: r221326
2015-03-10 16:37:53 +00:00
Marek Polacek 0757674c83 re PR sanitizer/65367 (indefinite loop occurs with sanitize enabled and certain optimization options)
PR sanitizer/65367
	* ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
	when only removing the statement.  Handle expanding UBSAN_OBJECT_SIZE
	separately.

	* c-c++-common/ubsan/pr65367.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r221325
2015-03-10 15:57:45 +00:00
Jakub Jelinek dac2639d6d re PR target/65286 (When building on powerpc64le-unknown-linux-gnu, --disable-multilib must be used)
PR target/65286
	* config/rs6000/t-linux: For powerpc64* target set
	MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.

From-SVN: r221322
2015-03-10 14:43:44 +01:00
Richard Biener c692785982 re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)
2015-03-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/44563
	* tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
	for redirect_all_calls.

From-SVN: r221321
2015-03-10 12:44:01 +00:00
Marek Polacek 2e1a9cdb64 * gdbinit.in (pcfun): Define and document.
From-SVN: r221320
2015-03-10 12:32:09 +00:00
Ilya Verbin 3009434489 Fix search path in intelmic-mkoffload for empty COLLECT_GCC.
gcc/
	* config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
	of libgomp-plugin.h.
	(find_target_compiler): Support a case when the path to gcc is specified
	in the PATH env var, so COLLECT_GCC doesn't contain a path.
	(generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
	intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
	libgomp-plugin.h.
	(main): Use GCC_INSTALL_NAME as target_driver_name.
	* config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
	define.
	(mkoffload.o): Remove obsolete include path and defines.
	(mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).

From-SVN: r221319
2015-03-10 12:23:27 +00:00
Richard Biener a563c28692 re PR middle-end/63155 (memory hog)
2015-03-10  Richard Biener  <rguenther@suse.de>

	PR middle-end/63155
	* tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
	* tree-ssa-coalesce.c: Include timevar.h.
	(attempt_coalesce): Handle graph being NULL.
	(coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
	Split out abnormal coalescing to ...
	(perform_abnormal_coalescing): ... this function.
	(coalesce_ssa_name): Perform abnormal coalescing without computing
	live/conflict.
	(verify_ssa_coalescing_worker): New function.
	(verify_ssa_coalescing): Likewise.

From-SVN: r221318
2015-03-10 11:16:33 +00:00
Georg-Johann Lay 77d68d9796 Typo
From-SVN: r221317
2015-03-10 09:56:07 +00:00
Georg-Johann Lay 4a2caf6ced re PR target/65296 ([avr] fix various issues with specs file generation)
PR target/65296
	* config.gcc (extra_options) [avr]: Remove.
	(extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
	(tm_file) [avr]: Add avr/specs.h after avr/avr.h.
	(tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
	* config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
	(-mmcu=): Add Var and MissingArgError properties.
	(-march=): Remove.
	* config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
	* config/avr/t-multilib: Regenerate.
	* config/avr/specs.h: New file.
	* config/avr/driver-avr.c: New file.
	* config/avr/genopt.sh: Remove file.
	* config/avr/avr-tables.opt: Remove file.
	* config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
	* config/avr/avr-c.c: Same.
	* avr-arch.h: Same.
	(avr_current_device): Remove proto.
	* config/avr/avr.h (avr_current_arch): Rename to avr_arch.
	(AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
	(EXTRA_SPEC_FUNCTIONS): Define.
	(avr_devicespecs_file): New specs function proto.
	(DRIVER_SELF_SPECS): Use device-specs-file spec function.
	* config/avr/avr.c (avr_current_arch): Rename to avr_arch.
	(avr_current_device): Remove definition and usage.
	(avr_set_core_architecture): New static function.
	(avr_option_override): Use it.
	* config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
	(mcu_name): New static array.
	(comparator, avr_archs_str, avr_mcus_str): New static functions.
	(avr_inform_devices, avr_inform_core_architectures): New functions.
	* config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
	(avrlibc.h) [WITH_AVRLIBC]: Include.
	(../rtems.h, rtems.h) [WITH_RTEMS]: Include.
	(print_mcu): Rewrite from scratch.
	* config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
	Forward to avr-specific specs defined in device-specs file.
	* config/avr/t-avr (driver-avr.o): New rule.
	(avr-devices.o): Depend on avr-arch.h.
	(avr-mcus): No more depend on avr-tables.opt.
	(avr-tables.opt): Remove rule.
	(install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.

From-SVN: r221316
2015-03-10 09:50:41 +00:00
Ilya Enkovich 768fbdd49e mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
* lib/mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
	* gcc.target/i386/mpx/calloc-1-lbv.c: New.
	* gcc.target/i386/mpx/calloc-1-ubv.c: New.
	* gcc.target/i386/mpx/calloc-1-nov.c: New.
	* gcc.target/i386/mpx/malloc-1-lbv.c: New.
	* gcc.target/i386/mpx/malloc-1-nov.c: New.
	* gcc.target/i386/mpx/malloc-1-ubv.c: New.
	* gcc.target/i386/mpx/realloc-1-lbv.c: New.
	* gcc.target/i386/mpx/realloc-1-nov.c: New.
	* gcc.target/i386/mpx/realloc-1-ubv.c: New.
	* gcc.target/i386/mpx/realloc-2-lbv.c: New.
	* gcc.target/i386/mpx/realloc-2-nov.c: New.
	* gcc.target/i386/mpx/realloc-2-ubv.c: New.

From-SVN: r221315
2015-03-10 09:48:51 +00:00
Ilya Enkovich 226d62d2d1 c.opt (fchkp-use-wrappers): New.
* c-family/c.opt (fchkp-use-wrappers): New.
	* ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
	(chkp_wrap_function): New.
	(chkp_build_instrumented_fndecl): Support wrapped
	functions.
	* doc/invoke.texi (-fcheck-pointer-bounds): New.
	(-fchkp-check-incomplete-type): New.
	(-fchkp-first-field-has-own-bounds): New.
	(-fchkp-narrow-bounds): New.
	(-fchkp-narrow-to-innermost-array): New.
	(-fchkp-optimize): New.
	(-fchkp-use-fast-string-functions): New.
	(-fchkp-use-nochk-string-functions): New.
	(-fchkp-use-static-bounds): New.
	(-fchkp-use-static-const-bounds): New.
	(-fchkp-treat-zero-dynamic-size-as-infinite): New.
	(-fchkp-check-read): New.
	(-fchkp-check-write): New.
	(-fchkp-store-bounds): New.
	(-fchkp-instrument-calls): New.
	(-fchkp-instrument-marked-only): New.
	(-fchkp-use-wrappers): New.
	(-static-libmpx): New.
	(-static-libmpxwrappers): New.

From-SVN: r221314
2015-03-10 09:46:11 +00:00
Ilya Enkovich d2d7e672ad linux-common.h (LIBMPX_WRAPPERSSPEC): New.
gcc/

	* config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
	(CHKP_SPEC): Add wrappers library.
	* c-family/c.opt (static-libmpxwrappers): New.

libmpx/

	* Makefile.am (SUBDIRS): Add mpxwrap when used
	AS supports MPX.
	(MAKEOVERRIDES): New.
	* Makefile.in: Regenerate.
	* configure.ac: Check AS supports MPX.  Add
	mpxintr/Makefile to config files.
	* configure: Regenerate.
	* mpxwrap/Makefile.am: New.
	* mpxwrap/Makefile.in: New.
	* mpxwrap/libtool-version: New.
	* mpxwrap/mpx_wrappers.cc: New.
	* mpxwrap/libmpxwrappers.map: New.

From-SVN: r221313
2015-03-10 09:43:24 +00:00
Ilya Enkovich ee8f136a72 mpx-dg.exp (mpx_link_flags): New.
gcc/testsuites/

	* gcc/testsuite/lib/mpx-dg.exp (mpx_link_flags): New.
	(mpx_init): New.
	(mpx_finish): New.
	* gcc.target/i386/mpx/alloca-1-lbv.c: New.
	* gcc.target/i386/mpx/alloca-1-nov.c: New.
	* gcc.target/i386/mpx/alloca-1-ubv.c: New.
	* gcc.target/i386/mpx/arg-addr-1-lbv.c: New.
	* gcc.target/i386/mpx/arg-addr-1-nov.c: New.
	* gcc.target/i386/mpx/arg-addr-1-ubv.c: New.
	* gcc.target/i386/mpx/bitfields-1-lbv.c: New.
	* gcc.target/i386/mpx/bitfields-1-nov.c: New.
	* gcc.target/i386/mpx/bitfields-1-ubv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: New.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: New.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: New.
	* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: New.
	* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: New.
	* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: New.
	* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: New.
	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: New.
	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: New.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: New.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: New.
	* gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: New.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: New.
	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: New.
	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: New.
	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: New.
	* gcc.target/i386/mpx/fastcall-1-lbv.c: New.
	* gcc.target/i386/mpx/fastcall-1-nov.c: New.
	* gcc.target/i386/mpx/fastcall-1-ubv.c: New.
	* gcc.target/i386/mpx/fastcall-2-lbv.c: New.
	* gcc.target/i386/mpx/fastcall-2-nov.c: New.
	* gcc.target/i386/mpx/fastcall-2-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-1-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-1-nov.c: New.
	* gcc.target/i386/mpx/field-addr-1-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-10-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-10-nov.c: New.
	* gcc.target/i386/mpx/field-addr-10-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-2-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-2-nov.c: New.
	* gcc.target/i386/mpx/field-addr-2-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-3-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-3-nov.c: New.
	* gcc.target/i386/mpx/field-addr-3-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-4-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-4-nov.c: New.
	* gcc.target/i386/mpx/field-addr-4-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-5-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-5-nov.c: New.
	* gcc.target/i386/mpx/field-addr-5-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-6-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-6-nov.c: New.
	* gcc.target/i386/mpx/field-addr-6-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-7-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-7-nov.c: New.
	* gcc.target/i386/mpx/field-addr-7-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-8-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-8-nov.c: New.
	* gcc.target/i386/mpx/field-addr-8-ubv.c: New.
	* gcc.target/i386/mpx/field-addr-9-lbv.c: New.
	* gcc.target/i386/mpx/field-addr-9-nov.c: New.
	* gcc.target/i386/mpx/field-addr-9-ubv.c: New.
	* gcc.target/i386/mpx/frame-address-1-nov.c: New.
	* gcc.target/i386/mpx/hard-reg-1-nov.c: New.
	* gcc.target/i386/mpx/if-stmt-1-lbv.c: New.
	* gcc.target/i386/mpx/if-stmt-1-nov.c: New.
	* gcc.target/i386/mpx/if-stmt-1-ubv.c: New.
	* gcc.target/i386/mpx/if-stmt-2-lbv.c: New.
	* gcc.target/i386/mpx/if-stmt-2-nov.c: New.
	* gcc.target/i386/mpx/if-stmt-2-ubv.c: New.
	* gcc.target/i386/mpx/label-address-1.c: New.
	* gcc.target/i386/mpx/legacy-1-nov.c: New.
	* gcc.target/i386/mpx/macro.c: New.
	* gcc.target/i386/mpx/mpx-check.h: New.
	* gcc.target/i386/mpx/mpx.exp: New.
	* gcc.target/i386/mpx/nested-function-1-lbv.c: New.
	* gcc.target/i386/mpx/nested-function-1-nov.c: New.
	* gcc.target/i386/mpx/nested-function-1-ubv.c: New.
	* gcc.target/i386/mpx/pointer-arg-1-lbv.c: New.
	* gcc.target/i386/mpx/pointer-arg-1-nov.c: New.
	* gcc.target/i386/mpx/pointer-arg-1-ubv.c: New.
	* gcc.target/i386/mpx/pointer-arg-2-lbv.c: New.
	* gcc.target/i386/mpx/pointer-arg-2-nov.c: New.
	* gcc.target/i386/mpx/pointer-arg-2-ubv.c: New.
	* gcc.target/i386/mpx/pointer-arg-3-lbv.c: New.
	* gcc.target/i386/mpx/pointer-arg-3-nov.c: New.
	* gcc.target/i386/mpx/pointer-arg-3-ubv.c: New.
	* gcc.target/i386/mpx/pointer-arg-4-lbv.c: New.
	* gcc.target/i386/mpx/pointer-arg-4-nov.c: New.
	* gcc.target/i386/mpx/pointer-arg-4-ubv.c: New.
	* gcc.target/i386/mpx/pointer-arg-5-lbv.c: New.
	* gcc.target/i386/mpx/pointer-arg-5-nov.c: New.
	* gcc.target/i386/mpx/pointer-arg-5-ubv.c: New.
	* gcc.target/i386/mpx/pointer-store-1-lbv.c: New.
	* gcc.target/i386/mpx/pointer-store-1-nov.c: New.
	* gcc.target/i386/mpx/pointer-store-1-ubv.c: New.
	* gcc.target/i386/mpx/reference-1-lbv.c: New.
	* gcc.target/i386/mpx/reference-1-nov.c: New.
	* gcc.target/i386/mpx/reference-1-ubv.c: New.
	* gcc.target/i386/mpx/reference-2-lbv.c: New.
	* gcc.target/i386/mpx/reference-2-nov.c: New.
	* gcc.target/i386/mpx/reference-2-ubv.c: New.
	* gcc.target/i386/mpx/reference-3-lbv.c: New.
	* gcc.target/i386/mpx/reference-3-nov.c: New.
	* gcc.target/i386/mpx/reference-3-ubv.c: New.
	* gcc.target/i386/mpx/reference-4-lbv.c: New.
	* gcc.target/i386/mpx/reference-4-nov.c: New.
	* gcc.target/i386/mpx/reference-4-ubv.c: New.
	* gcc.target/i386/mpx/return-pointer-1-lbv.c: New.
	* gcc.target/i386/mpx/return-pointer-1-nov.c: New.
	* gcc.target/i386/mpx/return-pointer-1-ubv.c: New.
	* gcc.target/i386/mpx/return-struct-1-lbv.c: New.
	* gcc.target/i386/mpx/return-struct-1-nov.c: New.
	* gcc.target/i386/mpx/return-struct-1-ubv.c: New.
	* gcc.target/i386/mpx/return-struct-2-lbv.c: New.
	* gcc.target/i386/mpx/return-struct-2-nov.c: New.
	* gcc.target/i386/mpx/return-struct-2-ubv.c: New.
	* gcc.target/i386/mpx/return-struct-3-lbv.c: New.
	* gcc.target/i386/mpx/return-struct-3-nov.c: New.
	* gcc.target/i386/mpx/return-struct-3-ubv.c: New.
	* gcc.target/i386/mpx/return-struct-4-lbv.c: New.
	* gcc.target/i386/mpx/return-struct-4-nov.c: New.
	* gcc.target/i386/mpx/return-struct-4-ubv.c: New.
	* gcc.target/i386/mpx/return-struct-5-lbv.c: New.
	* gcc.target/i386/mpx/return-struct-5-nov.c: New.
	* gcc.target/i386/mpx/return-struct-5-ubv.c: New.
	* gcc.target/i386/mpx/return-struct-6-lbv.c: New.
	* gcc.target/i386/mpx/return-struct-6-nov.c: New.
	* gcc.target/i386/mpx/return-struct-6-ubv.c: New.
	* gcc.target/i386/mpx/sincos-1-nov.c: New.
	* gcc.target/i386/mpx/static-array-1-lbv.c: New.
	* gcc.target/i386/mpx/static-array-1-nov.c: New.
	* gcc.target/i386/mpx/static-array-1-ubv.c: New.
	* gcc.target/i386/mpx/static-init-1-lbv.c: New.
	* gcc.target/i386/mpx/static-init-1-nov.c: New.
	* gcc.target/i386/mpx/static-init-1-ubv.c: New.
	* gcc.target/i386/mpx/static-init-2-lbv.c: New.
	* gcc.target/i386/mpx/static-init-2-nov.c: New.
	* gcc.target/i386/mpx/static-init-2-ubv.c: New.
	* gcc.target/i386/mpx/static-init-3-lbv.c: New.
	* gcc.target/i386/mpx/static-init-3-nov.c: New.
	* gcc.target/i386/mpx/static-init-3-ubv.c: New.
	* gcc.target/i386/mpx/static-init-4-lbv.c: New.
	* gcc.target/i386/mpx/static-init-4-nov.c: New.
	* gcc.target/i386/mpx/static-init-4-ubv.c: New.
	* gcc.target/i386/mpx/static-init-5-lbv.c: New.
	* gcc.target/i386/mpx/static-init-5-nov.c: New.
	* gcc.target/i386/mpx/static-init-5-ubv.c: New.
	* gcc.target/i386/mpx/static-init-6-lbv.c: New.
	* gcc.target/i386/mpx/static-init-6-nov.c: New.
	* gcc.target/i386/mpx/static-init-6-ubv.c: New.
	* gcc.target/i386/mpx/static-string-1-lbv.c: New.
	* gcc.target/i386/mpx/static-string-1-nov.c: New.
	* gcc.target/i386/mpx/static-string-1-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-1-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-1-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-1-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-10-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-10-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-10-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-2-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-2-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-2-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-3-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-3-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-3-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-4-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-4-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-4-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-5-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-5-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-5-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-6-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-6-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-6-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-7-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-7-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-7-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-8-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-8-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-8-ubv.c: New.
	* gcc.target/i386/mpx/struct-arg-9-lbv.c: New.
	* gcc.target/i386/mpx/struct-arg-9-nov.c: New.
	* gcc.target/i386/mpx/struct-arg-9-ubv.c: New.
	* gcc.target/i386/mpx/struct-copy-1-lbv.c: New.
	* gcc.target/i386/mpx/struct-copy-1-nov.c: New.
	* gcc.target/i386/mpx/struct-copy-1-ubv.c: New.
	* gcc.target/i386/mpx/struct-copy-2-lbv.c: New.
	* gcc.target/i386/mpx/struct-copy-2-nov.c: New.
	* gcc.target/i386/mpx/struct-copy-2-ubv.c: New.
	* gcc.target/i386/mpx/thread-local-var-1-lbv.c: New.
	* gcc.target/i386/mpx/thread-local-var-1-nov.c: New.
	* gcc.target/i386/mpx/thread-local-var-1-ubv.c: New.
	* gcc.target/i386/mpx/union-arg-1-lbv.c: New.
	* gcc.target/i386/mpx/union-arg-1-nov.c: New.
	* gcc.target/i386/mpx/union-arg-1-ubv.c: New.
	* gcc.target/i386/mpx/va-arg-pack-1-lbv.c: New.
	* gcc.target/i386/mpx/va-arg-pack-1-nov.c: New.
	* gcc.target/i386/mpx/va-arg-pack-1-ubv.c: New.
	* gcc.target/i386/mpx/va-arg-pack-2-lbv.c: New.
	* gcc.target/i386/mpx/va-arg-pack-2-nov.c: New.
	* gcc.target/i386/mpx/va-arg-pack-2-ubv.c: New.
	* gcc.target/i386/mpx/vararg-1-lbv.c: New.
	* gcc.target/i386/mpx/vararg-1-nov.c: New.
	* gcc.target/i386/mpx/vararg-1-ubv.c: New.
	* gcc.target/i386/mpx/vararg-2-lbv.c: New.
	* gcc.target/i386/mpx/vararg-2-nov.c: New.
	* gcc.target/i386/mpx/vararg-2-ubv.c: New.
	* gcc.target/i386/mpx/vararg-3-lbv.c: New.
	* gcc.target/i386/mpx/vararg-3-nov.c: New.
	* gcc.target/i386/mpx/vararg-3-ubv.c: New.
	* gcc.target/i386/mpx/vararg-4-lbv.c: New.
	* gcc.target/i386/mpx/vararg-4-nov.c: New.
	* gcc.target/i386/mpx/vararg-4-ubv.c: New.
	* gcc.target/i386/mpx/vararg-5-lbv.c: New.
	* gcc.target/i386/mpx/vararg-5-nov.c: New.
	* gcc.target/i386/mpx/vararg-5-ubv.c: New.
	* gcc.target/i386/mpx/vararg-6-lbv.c: New.
	* gcc.target/i386/mpx/vararg-6-nov.c: New.
	* gcc.target/i386/mpx/vararg-6-ubv.c: New.
	* gcc.target/i386/mpx/vararg-7-lbv.c: New.
	* gcc.target/i386/mpx/vararg-7-nov.c: New.
	* gcc.target/i386/mpx/vararg-7-ubv.c: New.
	* gcc.target/i386/mpx/vararg-8-lbv.c: New.
	* gcc.target/i386/mpx/vararg-8-nov.c: New.
	* gcc.target/i386/mpx/vararg-8-ubv.c: New.
	* gcc.target/i386/mpx/vla-1-lbv.c: New.
	* gcc.target/i386/mpx/vla-1-nov.c: New.
	* gcc.target/i386/mpx/vla-1-ubv.c: New.
	* gcc.target/i386/mpx/vla-2-lbv.c: New.
	* gcc.target/i386/mpx/vla-2-nov.c: New.
	* gcc.target/i386/mpx/vla-2-ubv.c: New.

From-SVN: r221312
2015-03-10 09:39:59 +00:00
Ilya Enkovich 5373cd33a8 Makefile.def: Add libmpx.
* Makefile.def: Add libmpx.
	* configure.ac: Add libmpx.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

gcc/

	* config/i386/linux-common.h (LIBMPX_LIBS): New.
	(LIBMPX_SPEC): New.
	(CHKP_SPEC): New.
	* gcc.c (CHKP_SPEC): New.
	(LINK_COMMAND_SPEC): Add CHKP_SPEC.
	* c-family/c.opt (static-libmpx): New.

libmpx/

	Initial commit.

From-SVN: r221311
2015-03-10 09:37:41 +00:00
James Greenhalgh 5a43417885 [Patch testsuite] Further reduce the alignment in gcc.dg/vect/pr65310.c
gcc/testsuite/

	* gcc.dg/vect/pr65310.c (c): Reduce alignment to 4-bytes.

From-SVN: r221310
2015-03-10 09:29:04 +00:00
Oleg Endo fe7ac5039d pr54680.c: Add -fno-ipa-icf option.
gcc/testsuite:
	* gcc.target/sh/pr54680.c: Add -fno-ipa-icf option.

From-SVN: r221309
2015-03-10 08:53:05 +00:00
Richard Biener 40ff136498 re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)
2015-03-10  Richard Biener  <rguenther@suse.de>

	PR middle-end/44563
	* cgraph.h (struct cgraph_edge_hasher): Add hash overload
	for compare_type.
	* cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
	(cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
	(cgraph_add_edge_to_call_site_hash): Likewise.
	(cgraph_node::get_edge): Likewise.
	(cgraph_edge::set_call_stmt): Likewise.
	(cgraph_edge::remove_caller): Likewise.

From-SVN: r221308
2015-03-10 08:25:31 +00:00
Chung-Ju Wu c457f75178 [NDS32] Rename some variables so that we can clearly identify they represent general purpose registers.
gcc/
	* config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
	(callee_saved_gpr_regs_size): ... this.
	(callee_saved_regs_first_regno): Rename to ...
	(callee_saved_first_gpr_regno): ... this.
	(callee_saved_regs_last_regno) Rename to ...
	(callee_saved_last_gpr_regno): ... this.
	* config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
	variables.
	(nds32_initial_elimination_offset): Likewise.
	(nds32_expand_prologue): Likewise.
	(nds32_expand_epilogue): Likewise.
	(nds32_expand_prologue_v3push): Likewise.
	(nds32_expand_epilogue_v3pop): Likewise.
	* config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
	Adjust renamed variables.
	(nds32_output_stack_pop): Likewise.

From-SVN: r221306
2015-03-10 08:16:57 +00:00
Uros Bizjak 6cf6683f55 ipa-icf-36.c (dg-final): Cleanup icf ipa dump.
* gcc.dg/ipa/ipa-icf-36.c (dg-final): Cleanup icf ipa dump.
	* gcc.dg/ipa/ipa-icf-37.c (dg-final): Ditto.

From-SVN: r221304
2015-03-10 08:47:43 +01:00
Thomas Preud'homme 048f1a9c54 dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B code in comment.
2015-03-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
    code in comment.

From-SVN: r221303
2015-03-10 07:35:09 +00:00
Jakub Jelinek 7ccb1a11e5 re PR c/65120 (Wlogical-not-parentheses should not warn about double exclamation !!)
PR c/65120
	* c-common.c (warn_logical_not_parentheses): Don't warn for
	!x == 0 or !x != 0.

	* c-typeck.c (parser_build_binary_op): Check for tcc_comparison
	before preparing arguments to warn_logical_not_parentheses.

	* parser.c (cp_parser_binary_expression): Check for tcc_comparison
	before preparing arguments to warn_logical_not_parentheses.
	Use maybe_constant_value on rhs.

	* c-c++-common/pr49706.c (fn2): Don't expect warning if enumerator
	on rhs is 0.
	(fn4): New test.
	* c-c++-common/pr65120.c: New test.

From-SVN: r221299
2015-03-10 07:38:57 +01:00
Jakub Jelinek 26d83bccd1 re PR rtl-optimization/65321 (ICE on valid code at -O2 and -O3 with -g enabled in decompose, at rtl.h:2007)
PR rtl-optimization/65321
	* cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
	than shift mode.
	* var-tracking.c (use_narrower_mode): Likewise.

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

From-SVN: r221298
2015-03-10 07:36:50 +01:00
Jan Hubicka caf2df93de re PR tree-optimization/65355 (vectorizer increase alignment of symbols already placed in anchors)
PR tree-optimization/65355
	* varasm.c (notice_global_symbol): Do not produce RTL.
	* symtab.c (symtab_node::can_increase_alignment_p): Check for section
	anchor.
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
	check for section anchors.
	* gcc.dg/vect/section-anchors-vect-69.c: Update template.

From-SVN: r221297
2015-03-10 04:24:21 +00:00
GCC Administrator 57ace19f92 Daily bump.
From-SVN: r221296
2015-03-10 00:16:11 +00:00
Ian Lance Taylor 1c1f0c595b re PR go/65353 (unknown ptrSize for $GOARCH "arm64" on aarch64-linux-gnu)
PR go/65353.
cmd/cgo: Add all gccgo GOARCH values to size maps.

From-SVN: r221293
2015-03-10 00:14:58 +00:00
Ian Lance Taylor dc4d494ae9 re PR go/65349 (go tool crashes, can't compile go code on 32bit linux systems)
PR go/65349
runtime: Don't crash if explicitly freeing small map.

From-SVN: r221292
2015-03-09 23:43:16 +00:00
Ian Lance Taylor 4729d7726b re PR go/65349 (go tool crashes, can't compile go code on 32bit linux systems)
PR go/65349
runtime: Don't call malloc from __go_file_line callback.

When crashing, we call runtime_printcreatedby which calls
__go_file_line which used to call the Go malloc.  If we are
crashing due to a signal due to heap corruption of some sort,
the GO malloc lock might already be held, leading to a crash
within a crash.  Avoid that by assuming that the libbacktrace
strings will stick around, as we already do in go-callers.c.

From-SVN: r221291
2015-03-09 23:40:58 +00:00
Alan Modra 864396ff9e re PR target/65286 (When building on powerpc64le-unknown-linux-gnu, --disable-multilib must be used)
PR target/65286
	* config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
	to be single-arch by default.  Set cpu_is_64bit for powerpc64
	given --with-cpu=native.
	* config/rs6000/t-fprules: Do not set default MULTILIB vars.
	* config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
	and powerpc64le.
	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
	rs6000_isa_flags rather than TARGET_64BIT.

From-SVN: r221288
2015-03-10 09:48:57 +10:30
Yoshinori Sato 711d91e13f t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
* config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.


Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>

From-SVN: r221287
2015-03-09 23:14:19 +00:00
Jakub Jelinek 9112885a6d re PR lto/65361 (LTO: tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_binfo’ in add_type_duplicate, at ipa-devirt.c:1509)
PR lto/65361
	* ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
	on a TREE_BINFO, instead use BINFO_TYPE.

From-SVN: r221286
2015-03-09 21:19:34 +01:00
Jason Merrill a2f259ef04 re PR c++/65339 (C++ ICE with lambda and no capture list)
PR c++/65339
	* call.c: Don't call maybe_resolve_dummy when calling a constructor.

From-SVN: r221285
2015-03-09 15:59:54 -04:00
Jakub Jelinek 01177669b2 re PR c/65120 (Wlogical-not-parentheses should not warn about double exclamation !!)
PR c/65120
	* c-typeck.c (parser_build_binary_op): Don't warn for
	!!x == y or !b == y where b is _Bool.

	* parser.c (cp_parser_binary_expression): Don't warn for
	!!x == y or !b == y where b is bool.

	* c-c++-common/pr49706.c: Adjust tests for not warning
	about !!x == y or !b == y where b is boolean, and add
	some further tests.
	* c-c++-common/pr62199-2.c: Likewise.

From-SVN: r221284
2015-03-09 19:26:52 +01:00
Jakub Jelinek ee876e5915 re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on sparc-linux-gnu)
PR sanitizer/63958
	Reapply:
	2014-10-14  David S. Miller  <davem@davemloft.net>

	* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
	Define at __kernel_time_t, as needed for sparc.
	(struct __old_kernel_stat): Don't check if __sparc__ is defined.
	* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer): Define struct___old_kernel_stat_sz,
	struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
	(__sanitizer_ipc_perm): Adjust for sparc targets.
	(__sanitizer_shmid_ds): Likewsie.
	(__sanitizer_sigaction): Likewise.
	(IOC_SIZE): Likewsie.

From-SVN: r221283
2015-03-09 19:25:28 +01:00
Ramana Radhakrishnan 578c2339f0 Fix PR number for 65121 in Changelog.
PR target/65121

The commit that fixed this was 

https://gcc.gnu.org/ml/gcc-cvs/2015-03/msg00140.html

From-SVN: r221282
2015-03-09 15:19:20 +00:00
Richard Biener e080863881 re PR ipa/65270 (issues with merging memory accesses from different code paths)
2015-03-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/65270
	* tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
	* fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
	operand set OEP_ADDRESS_OF.  Clear it when recursing to non-bases
	of that.  When comparing dereferences compare alignment.
	When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.

	* gcc.dg/torture/pr65270-1.c: New testcase.
	* gcc.dg/torture/pr65270-2.c: Likewise.

From-SVN: r221281
2015-03-09 13:54:28 +00:00
Jonathan Wakely d2e0c00b8c re PR libstdc++/64467 (28_regex/traits/char/isctype.cc and wchar_t/isctype.cc)
PR libstdc++/64467
	* testsuite/28_regex/traits/char/isctype.cc: Don't test newline
	for newlib targets. Really fix mixed line-endings this time.

From-SVN: r221279
2015-03-09 12:47:51 +00:00
Marek Polacek 802ac282f8 c-convert.c (convert): Make use of do_ubsan_in_current_function.
* c-convert.c (convert): Make use of do_ubsan_in_current_function.
	* c-decl.c (grokdeclarator): Likewise.
	* c-typeck.c (build_binary_op): Likewise.

From-SVN: r221278
2015-03-09 11:57:33 +00:00
Jan Hubicka e0d514da7b ipa-inline-analysis.c (check_callers): Check node->can_remove_if_no_direct_calls_and_refs_p.
* ipa-inline-analysis.c (check_callers): Check
	node->can_remove_if_no_direct_calls_and_refs_p.
	(growth_likely_positive): Reorganize to call
	can_remove_if_no_direct_calls_p later.
	* cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
	will_be_removed_from_program_if_no_direct_calls_p): Add 
	will_inline parameter.
	* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
	cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
	Handle inliner case correctly.

From-SVN: r221277
2015-03-09 04:53:54 +00:00
Thomas Preud'homme 68ca4ac90b re PR middle-end/63743 (Thumb1: big regression for float operators by r216728)
2015-03-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/63743
    * cfgexpand.c (reorder_operands): Also reorder if only second operand
    had its definition forwarded by TER.

    gcc/testsuite/
    PR tree-optimization/63743
    * gcc.dg/pr63743.c: New test.

From-SVN: r221276
2015-03-09 01:31:42 +00:00
Jan Hubicka 609570b49e re PR lto/65316 (LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465)
PR lto/65316
	* ipa-utils.h (types_odr_comparable): Add strict argument.
	* ipa-devirt.c: Fix whitespace;
	(odr_hasher): Remove.
	(odr_name_hasher, odr_vtable_hasher): New hashers.
	(can_be_name_hashed_p): New predicate.
	(hash_type_name): remove.
	(hash_odr_name): New.
	(odr_name_hasher::hash): new.
	(can_be_vtable_hashed_p): New.
	(hash_odr_vtable): New.
	(odr_vtable_hasher::hash): New.
	(types_same_for_odr): Add strict parameter.
	(types_odr_comparable): Likewise.
	(odr_name_hasher::equal): New.
	(odr_vtable_hasher::equal): New.
	(odr_name_hasher::remove): New.
	(odr_hash_type): Change to hash_table<odr_name_hasher>.
	(odr_vtable_hash_type): New.
	(odr_vtable_hash): New.
	(odr_subtypes_equivalent_p): Do strict comparsion.
	(add_type_duplicate): Merge type names; cleanup; avoid type
	duplicates.
	(register_odr_type): Initialize vtable hash.
	(build_type_inheritance_graph): Likewise
	(get_odr_type): Reorg to use two hashes.
	(dump_possible_polymorphic_call_targets): Move sanity check after debug
	output.
	(ipa_devirt): Dump type_inheritance_graph.
	(types_same_for_odr): Add strict mode.
	* g++.dg/lto/pr65316_0.C: New testcase.
	* g++.dg/lto/pr65316_1.C: New testcase.

From-SVN: r221275
2015-03-09 00:29:14 +00:00
GCC Administrator e1e8e374f4 Daily bump.
From-SVN: r221274
2015-03-09 00:16:14 +00:00
John David Anglin e9d087626d re PR target/62247 (FAIL: g++.dg/abi/anon3.C -std=c++98/9 scan-assembler .weak(_definition))
PR target/62247
	* g++.dg/abi/anon3.C: Skip failing scan-assembler checks on
	hppa*-*-hpux*.
	* g++.dg/abi/rtti3.C: Likewise.

From-SVN: r221271
2015-03-08 23:46:34 +00:00
John David Anglin a5bfe3f9a7 pr63621.C: Add dg-require-effective-target named_sections.
* g++.dg/ipa/pr63621.C: Add dg-require-effective-target named_sections.

From-SVN: r221270
2015-03-08 23:30:47 +00:00
Jan Hubicka 7185ec2cb4 varasm.c (function_section_1): Use definition_alignment.
* varasm.c (function_section_1): Use definition_alignment.
	(assemble_start_function): Likewise.
	(emit_local): likewise.
	(build_constant_desc): Likewsie.
	(output_constant_def_contents): Likewise.
	(place_block_symbol): Likewise.
	(output_object_block): Likewise.

From-SVN: r221269
2015-03-08 23:27:13 +00:00
Jan Hubicka 428f0c67ee re PR ipa/65334 (r221099 caused: FAIL: gfortran.fortran-torture/execute/in-pack.f90 execution, -O2 -ftree-vectorize -msse2)
PR ipa/65334
	* cgraph.h (symtab_node): Add definition_alignment,
	can_increase_alignment_p and increase_alignment.
	* symtab.c (symtab_node::can_increase_alignment_p,
	increase_alignment_1, symtab_node::increase_alignment,
	symtab_node::definition_alignment): New.
	* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
	can_increase_alignment_p.
	* tree-vectorizer.c (increase_alignment): Use increase_alignment.
	* tree-vect-stmts.c (ensure_base_align): Likewise.

From-SVN: r221268
2015-03-08 23:12:25 +00:00
John David Anglin fb460c3da0 re PR target/62251 (FAIL: gfortran.dg/quad_2.f90 execution test)
PR target/62251
	* gfortran.dg/quad_2.f90: xfail hppa*-*-hpux*.

From-SVN: r221267
2015-03-08 22:58:52 +00:00
John David Anglin 11403457ec signbit-sa.c: Add dg-require-effective-target c99_runtime
* gcc.dg/signbit-sa.c: Add dg-require-effective-target c99_runtime

From-SVN: r221266
2015-03-08 22:45:32 +00:00
John David Anglin cd6e6ce573 pr64307.c: Add target c99_runtime.
* gcc.dg/ipa/pr64307.c: Add target c99_runtime.

From-SVN: r221265
2015-03-08 22:32:57 +00:00
John David Anglin 26fb6f1f58 ipa-icf-34.c: Add dg-require-alias.
* gcc.dg/ipa/ipa-icf-34.c: Add dg-require-alias.

From-SVN: r221264
2015-03-08 22:21:16 +00:00
David Edelsohn 34e72ece07 Add missing PR target/59828 to ChangeLog entry.
From-SVN: r221263
2015-03-08 09:40:42 -04:00