Georg-Johann Lay [Wed, 11 Mar 2015 18:51:09 +0000 (18:51 +0000)]
re PR target/65296 ([avr] fix various issues with specs file generation)
gcc/
PR target/65296
* configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
* configure: Regenerate.
* config.in: Regenerate.
* doc/invoke.texi (AVR Options) [-mrmw]: Document it.
[-mn-flash]: Document it.
[__AVR_ARCH__]: Document avrtiny.
* config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
(*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
(*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
gcc/testsuite/
PR target/65296
* gcc.target/avr/tiny-memx: Use -mmcu instead of -march.
* gcc.target/avr/tiny-caller-save.c: Same.
From-SVN: r221355
Andreas Krebbel [Wed, 11 Mar 2015 18:35:44 +0000 (18:35 +0000)]
S/390: Doc: Add missing cpu values z196, zEC12.
* doc/invoke.texi: Add missing cpu values (z196, zEC12).
From-SVN: r221353
Michael Meissner [Wed, 11 Mar 2015 16:57:41 +0000 (16:57 +0000)]
re PR target/65242 (ICE (in gen_add2_insn, at optabs.c:4761) on powerpc64le-linux-gnu)
[gcc]
2015-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/65242
* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
allow reloads of PLUS in floating point/VSX registers.
[gcc/testsuite]
2015-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/65242
* g++.dg/pr65242.C: New test.
From-SVN: r221350
Junmo Park [Wed, 11 Mar 2015 16:53:07 +0000 (16:53 +0000)]
Add missing definition crypto_sha256_fast, crypto_sha256_slow
2015-03-11 Junmo Park <junmoz.park@samsung.com>
* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add crypto_sha256_fast.
(cortex_a57_crypto_complex): Add crypto_sha256_slow.
From-SVN: r221349
Richard Biener [Wed, 11 Mar 2015 15:09:51 +0000 (15:09 +0000)]
re PR tree-optimization/65310 (vectorizer uses wrong alignment)
2015-03-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/65310
* tree-sra.c (build_ref_for_offset): Also preserve larger
alignment.
From-SVN: r221348
Aldy Hernandez [Wed, 11 Mar 2015 15:01:37 +0000 (15:01 +0000)]
cp-gimplify.c (simple_empty_class_p): New.
* cp-gimplify.c (simple_empty_class_p): New.
* cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
the code for empty class copies into simple_empty_class_p, and
adapt it to handle COMPOUND_EXPRs.
From-SVN: r221347
Marat Zakirov [Wed, 11 Mar 2015 07:39:20 +0000 (07:39 +0000)]
asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
* asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
* c-c++-common/asan/no-asan-check-glob.c: New test.
From-SVN: r221345
GCC Administrator [Wed, 11 Mar 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221342
Paolo Carlini [Tue, 10 Mar 2015 22:20:41 +0000 (22:20 +0000)]
re PR c++/65370 (r213519 causes: error: redeclaration of 'template... may not have default arguments [-fpermissive])
/cp
2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65370
* decl.c (duplicate_decls): Call check_redeclaration_no_default_args
only if the location of newdecl doesn't match the location of olddecl.
/testsuite
2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65370
* g++.dg/other/default11.C: New.
* g++.dg/other/default12.C: Likewise.
From-SVN: r221337
Jakub Jelinek [Tue, 10 Mar 2015 21:03:21 +0000 (22:03 +0100)]
re PR target/65368 (_bzhi_u32 intrinsic generates incorrect code when -O1 or above is specified and index is an immediate)
PR target/65368
* config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
new define_expand.
(*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
* gcc.target/i386/bmi2-bzhi-2.c: New test.
From-SVN: r221335
Paul Thomas [Tue, 10 Mar 2015 19:39:05 +0000 (19:39 +0000)]
re PR fortran/65024 ([OOP] unlimited polymorphic pointer structure not built when it should be)
2015-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65024
* trans-expr.c (gfc_conv_component_ref): If the component
backend declaration is missing and the derived type symbol is
available in the reference, call gfc_build_derived_type.
2015-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65024
* gfortran.dg/unlimited_polymorphic_23.f90: New test
From-SVN: r221334
Jakub Jelinek [Tue, 10 Mar 2015 19:10:43 +0000 (20:10 +0100)]
re PR c++/65127 (internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'addr_expr' in parsing_nsdmi, at cp/parser.c:18311)
PR c++/65127
* parser.c (parsing_nsdmi): Don't return true if current_class_ptr
is not a PARM_DECL.
* g++.dg/cpp0x/pr65127.C: New test.
From-SVN: r221332
Jan Hubicka [Tue, 10 Mar 2015 18:43:44 +0000 (19:43 +0100)]
* gcc.dg/ipa/PR64550.c: Update template.
From-SVN: r221331
Tim Shen [Tue, 10 Mar 2015 18:41:46 +0000 (18:41 +0000)]
re PR libstdc++/64441 (A match_results returns an incorrect sub_match if the sub_match::matched is false)
PR libstdc++/64441
* include/bits/regex.h (match_results<>::size,
match_results<>::position, match_results<>::str,
match_results<>::operator[], match_results<>::prefix,
match_results<>::suffix, match_results<>::end,
match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
global __unmatched_sub. Add unmatched submatch as part of
match_results.
* include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
* testsuite/28_regex/match_results/out_of_range_submatches.cc:
New testcases.
From-SVN: r221330
Alessandro Fanfarillo [Tue, 10 Mar 2015 17:58:01 +0000 (11:58 -0600)]
trans.h (caf_sync_memory): New function decl tree.
2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
Tobias Burnus <burnus@net-b.de>
* trans.h (caf_sync_memory): New function decl tree.
* trans-decl.c (gfc_build_builtin_function_decls): Define it.
(create_main_function): Don't call sync_synchronize and leave
it to the CAF library.
* trans-stmt.c (gfc_trans_stop): Ditto.
(gfc_trans_sync): Ditto; add call library call for sync memory.
* gfortran.dg/coarray_sync_memory.f90: New.
* caf/libcaf.h (_gfortran_caf_sync_memory): New prototype.
* caf/single.c (_gfortran_caf_sync_memory): Implement.
(_gfortran_caf_sync_all, _gfortran_caf_sync_image): Add
__asm__ __volatile___ ("":::"memory").
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r221329
Jason Merrill [Tue, 10 Mar 2015 17:44:48 +0000 (13:44 -0400)]
re PR c++/65333 (error: incomplete type used in nested name specifier)
PR c++/65333
DR 1558
* pt.c (dependent_type_p_r): Check both class and alias template args.
From-SVN: r221328
Jan Hubicka [Tue, 10 Mar 2015 17:21:34 +0000 (18:21 +0100)]
ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
* ipa-icf.c (sem_function::equals_wpa): Move here some checks
from ...
(sem_function::equals_wpa): ... here.
From-SVN: r221327
Aldy Hernandez [Tue, 10 Mar 2015 16:37:53 +0000 (16:37 +0000)]
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
Marek Polacek [Tue, 10 Mar 2015 15:57:45 +0000 (15:57 +0000)]
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
Jakub Jelinek [Tue, 10 Mar 2015 13:43:44 +0000 (14:43 +0100)]
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
Richard Biener [Tue, 10 Mar 2015 12:44:01 +0000 (12:44 +0000)]
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
Marek Polacek [Tue, 10 Mar 2015 12:32:09 +0000 (12:32 +0000)]
* gdbinit.in (pcfun): Define and document.
From-SVN: r221320
Ilya Verbin [Tue, 10 Mar 2015 12:23:27 +0000 (12:23 +0000)]
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
Richard Biener [Tue, 10 Mar 2015 11:16:33 +0000 (11:16 +0000)]
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
Georg-Johann Lay [Tue, 10 Mar 2015 09:56:07 +0000 (09:56 +0000)]
Typo
From-SVN: r221317
Georg-Johann Lay [Tue, 10 Mar 2015 09:50:41 +0000 (09:50 +0000)]
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.\a
(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
Ilya Enkovich [Tue, 10 Mar 2015 09:48:51 +0000 (09:48 +0000)]
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
Ilya Enkovich [Tue, 10 Mar 2015 09:46:11 +0000 (09:46 +0000)]
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
Ilya Enkovich [Tue, 10 Mar 2015 09:43:24 +0000 (09:43 +0000)]
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
Ilya Enkovich [Tue, 10 Mar 2015 09:39:59 +0000 (09:39 +0000)]
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
Ilya Enkovich [Tue, 10 Mar 2015 09:37:41 +0000 (09:37 +0000)]
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
James Greenhalgh [Tue, 10 Mar 2015 09:29:04 +0000 (09:29 +0000)]
[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
Oleg Endo [Tue, 10 Mar 2015 08:53:05 +0000 (08:53 +0000)]
pr54680.c: Add -fno-ipa-icf option.
gcc/testsuite:
* gcc.target/sh/pr54680.c: Add -fno-ipa-icf option.
From-SVN: r221309
Richard Biener [Tue, 10 Mar 2015 08:25:31 +0000 (08:25 +0000)]
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
Chung-Ju Wu [Tue, 10 Mar 2015 08:16:57 +0000 (08:16 +0000)]
[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
Uros Bizjak [Tue, 10 Mar 2015 07:47:43 +0000 (08:47 +0100)]
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
Thomas Preud'homme [Tue, 10 Mar 2015 07:35:09 +0000 (07:35 +0000)]
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
Jakub Jelinek [Tue, 10 Mar 2015 06:38:57 +0000 (07:38 +0100)]
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
Jakub Jelinek [Tue, 10 Mar 2015 06:36:50 +0000 (07:36 +0100)]
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
Jan Hubicka [Tue, 10 Mar 2015 04:24:21 +0000 (05:24 +0100)]
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
GCC Administrator [Tue, 10 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221296
Ian Lance Taylor [Tue, 10 Mar 2015 00:14:58 +0000 (00:14 +0000)]
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
Ian Lance Taylor [Mon, 9 Mar 2015 23:43:16 +0000 (23:43 +0000)]
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
Ian Lance Taylor [Mon, 9 Mar 2015 23:40:58 +0000 (23:40 +0000)]
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
Alan Modra [Mon, 9 Mar 2015 23:18:57 +0000 (09:48 +1030)]
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
Yoshinori Sato [Mon, 9 Mar 2015 23:14:19 +0000 (08:14 +0900)]
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
Jakub Jelinek [Mon, 9 Mar 2015 20:19:34 +0000 (21:19 +0100)]
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
Jason Merrill [Mon, 9 Mar 2015 19:59:54 +0000 (15:59 -0400)]
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
Jakub Jelinek [Mon, 9 Mar 2015 18:26:52 +0000 (19:26 +0100)]
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
Jakub Jelinek [Mon, 9 Mar 2015 18:25:28 +0000 (19:25 +0100)]
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
Ramana Radhakrishnan [Mon, 9 Mar 2015 15:19:20 +0000 (15:19 +0000)]
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
Richard Biener [Mon, 9 Mar 2015 13:54:28 +0000 (13:54 +0000)]
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
Jonathan Wakely [Mon, 9 Mar 2015 12:47:51 +0000 (12:47 +0000)]
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
Marek Polacek [Mon, 9 Mar 2015 11:57:33 +0000 (11:57 +0000)]
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
Jan Hubicka [Mon, 9 Mar 2015 04:53:54 +0000 (05:53 +0100)]
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
Thomas Preud'homme [Mon, 9 Mar 2015 01:31:42 +0000 (01:31 +0000)]
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
Jan Hubicka [Mon, 9 Mar 2015 00:29:14 +0000 (01:29 +0100)]
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
GCC Administrator [Mon, 9 Mar 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221274
John David Anglin [Sun, 8 Mar 2015 23:46:34 +0000 (23:46 +0000)]
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
John David Anglin [Sun, 8 Mar 2015 23:30:47 +0000 (23:30 +0000)]
pr63621.C: Add dg-require-effective-target named_sections.
* g++.dg/ipa/pr63621.C: Add dg-require-effective-target named_sections.
From-SVN: r221270
Jan Hubicka [Sun, 8 Mar 2015 23:27:13 +0000 (00:27 +0100)]
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
Jan Hubicka [Sun, 8 Mar 2015 23:12:25 +0000 (00:12 +0100)]
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
John David Anglin [Sun, 8 Mar 2015 22:58:52 +0000 (22:58 +0000)]
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
John David Anglin [Sun, 8 Mar 2015 22:45:32 +0000 (22:45 +0000)]
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
John David Anglin [Sun, 8 Mar 2015 22:32:57 +0000 (22:32 +0000)]
pr64307.c: Add target c99_runtime.
* gcc.dg/ipa/pr64307.c: Add target c99_runtime.
From-SVN: r221265
John David Anglin [Sun, 8 Mar 2015 22:21:16 +0000 (22:21 +0000)]
ipa-icf-34.c: Add dg-require-alias.
* gcc.dg/ipa/ipa-icf-34.c: Add dg-require-alias.
From-SVN: r221264
David Edelsohn [Sun, 8 Mar 2015 13:40:42 +0000 (09:40 -0400)]
Add missing PR target/59828 to ChangeLog entry.
From-SVN: r221263
Mikael Morin [Sun, 8 Mar 2015 11:52:51 +0000 (11:52 +0000)]
re PR fortran/60898 (model compile error with gfortran 4.7 and gcc 4.9)
PR fortran/60898
fortran/
* resolve.c (resolve_symbol): Check that the symbol found by
name lookup really is the current symbol being resolved.
testsuite/
* gfortran.dg/entry_20.f90: New.
From-SVN: r221262
GCC Administrator [Sun, 8 Mar 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221261
Jan Hubicka [Sat, 7 Mar 2015 20:33:58 +0000 (21:33 +0100)]
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 ipa/65316
* tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
when outputting debug.
From-SVN: r221258
Oleg Endo [Sat, 7 Mar 2015 19:35:22 +0000 (19:35 +0000)]
re PR target/65153 ([SH][4.9 Regression] "insn does not satisfy its constraints" when compiling libmcrypt)
gcc/testsuite/
PR target/65153
* gcc.c-torture/compile/pr65153.c: New.
From-SVN: r221257
Oleg Endo [Sat, 7 Mar 2015 16:12:41 +0000 (16:12 +0000)]
re PR target/65249 (unable to find a register to spill in class 'R0_REGS' when compiling protobuf on sh4)
gcc/testsuite/
PR target/65249
* g++.dg/torture/pr65249.C: New.
From-SVN: r221256
H.J. Lu [Sat, 7 Mar 2015 13:31:00 +0000 (13:31 +0000)]
Use long long for uint64_t/int64_t
* gcc.target/i386/pr45685.c (uint64_t): Replace long with long
long.
(int64_t): Likewise.
From-SVN: r221255
Joseph Myers [Sat, 7 Mar 2015 01:14:18 +0000 (01:14 +0000)]
* de.po: Update.
From-SVN: r221254
GCC Administrator [Sat, 7 Mar 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221253
Marek Polacek [Fri, 6 Mar 2015 23:44:56 +0000 (23:44 +0000)]
re PR sanitizer/65280 (-fsanitize=bounds does not detect out-of-bounds access)
PR sanitizer/65280
* doc/invoke.texi: Update description of -fsanitize=bounds.
* c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
before trying to figure out whether we have a flexible array member.
* c-c++-common/ubsan/bounds-1.c: Add testing of flexible array
member-like arrays.
* c-c++-common/ubsan/bounds-8.c: New test.
* c-c++-common/ubsan/bounds-9.c: New test.
* gcc.dg/ubsan/bounds-2.c: New test.
Co-Authored-By: Martin Uecker <uecker@eecs.berkeley.edu>
From-SVN: r221250
Aldy Hernandez [Fri, 6 Mar 2015 21:58:31 +0000 (21:58 +0000)]
ptree.c (cxx_print_lambda_node): New.
* ptree.c (cxx_print_lambda_node): New.
(cxx_print_xnode): Handle LAMBDA_EXPR.
From-SVN: r221249
Martin Sebor [Fri, 6 Mar 2015 18:43:24 +0000 (18:43 +0000)]
re PR testsuite/63175 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c scan-tree-dump-times slp2" basic block vectorized using SLP" 1)
2015-03-05 Martin Sebor <msebor@redhat.com>
* PR testsuite/63175
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c (main1): Move
checking of results into main to prevent it from getting optimized
away.
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: New test.
From-SVN: r221248
Bernd Edlinger [Fri, 6 Mar 2015 18:35:15 +0000 (18:35 +0000)]
dg-extract-results.sh: Check that the necessary python modules exist.
2015-03-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
* dg-extract-results.sh: Check that the necessary python modules exist.
From-SVN: r221247
Wilco Dijkstra [Fri, 6 Mar 2015 16:35:30 +0000 (16:35 +0000)]
Remove inefficient branchless conditional negate optimization
2015-03-06 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* tree-ssa-phiopt.c (neg_replacement): Remove.
(tree_ssa_phiopt_worker): Remove negate optimization.
gcc/testsuite/
* gcc.dg/tree-ssa/pr45685.c: Move to gcc.target/i386.
* gcc.target/aarch64/csneg-1.c (test_csneg_cmp): New test.
* gcc.target/i386/pr45685.c: Moved test, check for conditional move on x64.
From-SVN: r221246
Ian Lance Taylor [Fri, 6 Mar 2015 16:19:05 +0000 (16:19 +0000)]
libgo: Upgrade to Go 1.4.2 release.
From-SVN: r221245
Jan Hubicka [Fri, 6 Mar 2015 16:12:43 +0000 (17:12 +0100)]
re PR lto/65302 (LTO: ICE internal compiler error: verify_flow_info failed)
PR ipa/65302
* value-prof.c (gimple_ic): Pure dead eh edges when needed.
* g++.dg/lto/pr65302_1.C: New testcase.
* g++.dg/lto/pr65302_0.C: New testcase.
From-SVN: r221244
James Greenhalgh [Fri, 6 Mar 2015 16:03:38 +0000 (16:03 +0000)]
[ARM testsuite obvious] Fixup atomic-comp-swap-release-acquire.c to not use ICF
gcc/
* gcc.target/arm/atomic-comp-swap-release-acquire.c: Add
-fno-ipa-icf to dg-options.
From-SVN: r221243
Kirill Yukhin [Fri, 6 Mar 2015 14:49:03 +0000 (14:49 +0000)]
MAINTAINERS (CPU Port Maintainers): Add myself i386 vector ISA extns mantainer.
/
* MAINTAINERS (CPU Port Maintainers): Add myself
i386 vector ISA extns mantainer.
From-SVN: r221238
Richard Biener [Fri, 6 Mar 2015 12:34:28 +0000 (12:34 +0000)]
re PR middle-end/64928 (Inordinate cpu time and memory usage in "phase opt and generate" with -ftest-coverage -fprofile-arcs)
2015-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/64928
* tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
and liveout_obstack members.
(calculate_live_on_exit): Remove.
(calculate_live_ranges): Change declaration.
* tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
(new_tree_live_info): Adjust.
(calculate_live_ranges): Delete livein when not wanted.
(calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
Deal with partly deleted live info.
(loe_visit_block): Remove temporary bitmap by using
bitmap_ior_and_compl_into.
(live_worklist): Adjust accordingly.
(calculate_live_on_exit): Make static.
* tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
we do not need livein.
From-SVN: r221237
Jonathan Wakely [Fri, 6 Mar 2015 12:31:43 +0000 (12:31 +0000)]
future (future_error(error_code)): Construct base class with error_code's message.
* include/std/future (future_error(error_code)): Construct base
class with error_code's message.
* src/c++11/future.cc (future_error::what()): Do not call c_str() on
temporary string.
From-SVN: r221236
Jonathan Wakely [Fri, 6 Mar 2015 12:05:38 +0000 (12:05 +0000)]
* real.c (real_from_string): Fix typo in assertion.
From-SVN: r221235
Alex Velenko [Fri, 6 Mar 2015 11:10:45 +0000 (11:10 +0000)]
ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of the patch.
2015-03-06 Alex Velenko <alex.velenko@arm.com>
* ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
the patch.
From-SVN: r221234
James Greenhalgh [Fri, 6 Mar 2015 10:47:20 +0000 (10:47 +0000)]
[AArch64 testsuite obvious] XFAIL c-c++-common/torture/aarch64-vect-lane-2.c
for -flto -fuse-linker-plugin
gcc/testsuite/
* c-c++-common/torture/aarch64-vect-lane-2.c: Skip for LTO
compiles.
From-SVN: r221233
Eric Botcazou [Fri, 6 Mar 2015 10:15:03 +0000 (10:15 +0000)]
c-ada-spec.c (dump_ada_double_name): Fix pasto.
* c-ada-spec.c (dump_ada_double_name): Fix pasto.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r221231
Ian Lance Taylor [Fri, 6 Mar 2015 00:27:32 +0000 (00:27 +0000)]
compiler: Do not declare type switch variable outside case statements.
For expressions containing a TypeSwitchGuard with a short variable
declaration e.g. var := x.(type), the spec says that var is declared
at the beginning of the implicit block for each in each clause.
Previously, var was declared in the block for the switch statement
and each implicit block, which led to errors if the type case clause
referenced a type with a similar name as the declared variable.
Fixes golang/go#10047.
From-SVN: r221230
GCC Administrator [Fri, 6 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221229
Jan Hubicka [Thu, 5 Mar 2015 21:26:44 +0000 (22:26 +0100)]
* ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
From-SVN: r221226
Vladimir Makarov [Thu, 5 Mar 2015 19:43:11 +0000 (19:43 +0000)]
re PR target/64342 (Tests failing when compiled with '-m32 -fpic' after r216154.)
2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
PR target/64342
* lra-assigns.c (find_hard_regno_for): Rename to
find_hard_regno_for_1. Add a new parameter.
(find_hard_regno_for): New function using find_hard_regno_for_1.
From-SVN: r221223
Bernd Edlinger [Thu, 5 Mar 2015 18:56:37 +0000 (18:56 +0000)]
re PR rtl-optimization/65067 (regression on accessing volatile bit field)
gcc:
2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/65067
* expmed.c (store_bit_field, extract_bit_field): Reworked the
strict volatile bitfield handling.
testsuite:
2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.target/arm/pr65067.c: New test.
From-SVN: r221222
Martin Liska [Thu, 5 Mar 2015 17:49:49 +0000 (18:49 +0100)]
re PR ipa/65318 (wrong code at -Os and above on x86_64-linux-gnu)
PR ipa/65318
* ipa-icf.c (sem_variable::equals): Compare variables types.
* gcc.dg/ipa/pr65318.c: New test.
From-SVN: r221221
Alex Velenko [Thu, 5 Mar 2015 16:45:21 +0000 (16:45 +0000)]
arm.c (arm_function_in_section_p): Fix predicate to correctly check weak symbol binding.
2015-03-05 Alex Velenko <alex.velenko@arm.com>
* config/arm/arm.c (arm_function_in_section_p): Fix predicate to
correctly check weak symbol binding.
From-SVN: r221220
Steve Ellcey [Thu, 5 Mar 2015 16:34:03 +0000 (16:34 +0000)]
re PR middle-end/65315 (incorrect alignment of local variable with aligned attribute)
2015-03-05 Steve Ellcey <sellcey@imgtec.com>
PR middle-end/65315
* cfgexpand.c (expand_stack_vars): Update large_align to maximum
needed alignment.
From-SVN: r221219
David Malcolm [Thu, 5 Mar 2015 15:38:15 +0000 (15:38 +0000)]
jit documentation fixes
gcc/jit/ChangeLog:
* docs/cp/intro/tutorial03.rst: Add missing arguments to
gccjit::block::end_with_conditional call. Add on_true/on_false
comments. Tweak the wording.
* docs/intro/tutorial03.rst: Add missing arguments to
gcc_jit_block_end_with_conditional call. Add some clarifying
comments.
* docs/topics/compilation.rst: Tweak the wording to avoid an
ambiguous use of "this".
* docs/topics/contexts.rst: Fix a typo.
* docs/topics/expressions.rst (GCC_JIT_BINARY_OP_MINUS): Remove
a stray backtick.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
From-SVN: r221218
Marek Polacek [Thu, 5 Mar 2015 15:00:20 +0000 (15:00 +0000)]
* c-c++-common/ubsan/bounds-6.c: Use dg-do run.
From-SVN: r221217