Jakub Jelinek [Thu, 7 Nov 2013 14:28:57 +0000 (15:28 +0100)]
tree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop latches from header PHI arguments from the latch...
* tree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop
latches from header PHI arguments from the latch edge.
* gcc.dg/unroll_1.c: Add -fno-tree-vrp to dg-options.
* gcc.dg/unroll_2.c: Likewise.
* gcc.dg/unroll_3.c: Likewise.
* gcc.dg/unroll_4.c: Likewise.
* gcc.dg/vrp90.c: New test.
From-SVN: r204515
Paolo Carlini [Thu, 7 Nov 2013 14:26:17 +0000 (14:26 +0000)]
re PR c++/58176 (ICE in output_constant, at varasm.c:4658)
2013-11-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58176
* varasm.c (output_constant): Handle NULLPTR_TYPE.
/testsuite
2013-11-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58176
* g++.dg/cpp0x/nullptr30.C: New.
From-SVN: r204514
H.J. Lu [Thu, 7 Nov 2013 13:59:22 +0000 (13:59 +0000)]
Don't set misaligned_prologue_used twice
* config/i386/i386.c (ix86_expand_set_or_movmem): Don't set
misaligned_prologue_used when it has been set.
From-SVN: r204512
Yury Gribov [Thu, 7 Nov 2013 12:55:42 +0000 (12:55 +0000)]
Fixed typo in ChangeLog.
From-SVN: r204509
Yury Gribov [Thu, 7 Nov 2013 12:04:45 +0000 (12:04 +0000)]
Allow integer literals as addresses in instrumented builtins.
gcc/
PR sanitizer/59029
* gcc/asan.c (get_mem_refs_of_builtin_call): Allow
integer literals as addresses in instrumented builtins.
gcc-testsuite/
PR sanitizer/59029
* c-c++-common/asan/pr59029.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r204508
Kyrylo Tkachov [Thu, 7 Nov 2013 11:44:04 +0000 (11:44 +0000)]
aarch64.c (aarch64_legitimize_reload_address): Explain why plus_constant is not used.
* config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
Explain why plus_constant is not used.
From-SVN: r204507
Richard Biener [Thu, 7 Nov 2013 11:33:03 +0000 (11:33 +0000)]
tree-ssa-ccp.c (canonicalize_float_value): Rename to ...
2013-11-07 Richard Biener <rguenther@suse.de>
* tree-ssa-ccp.c (canonicalize_float_value): Rename to ...
(canonicalize_value): ... this. Also handle stripping of
TREE_OVERFLOW.
(get_value, set_lattice_value, get_value_for_expr): Adjust.
* gimple-fold.c (canonicalize_constructor_val): Strip
TREE_OVERFLOW.
* tree-ssa-threadedge.c (set_ssa_name_value): Likewise.
From-SVN: r204506
Richard Biener [Thu, 7 Nov 2013 11:28:42 +0000 (11:28 +0000)]
tree-dfa.c (get_ref_base_and_extent): Fix casting.
2013-11-07 Richard Biener <rguenther@suse.de>
* tree-dfa.c (get_ref_base_and_extent): Fix casting.
From-SVN: r204505
H.J. Lu [Thu, 7 Nov 2013 09:58:05 +0000 (09:58 +0000)]
Use Pmode with stack_pointer_rtx
gcc/
PR target/59034
* config/i386/i386.md (push peepholer/splitter): Use Pmode
with stack_pointer_rtx.
gcc/testsuite/
PR target/59034
* gcc.target/i386/pr59034-1.c: New test.
* gcc.target/i386/pr59034-2.c: Likewise.
From-SVN: r204501
Bin Cheng [Thu, 7 Nov 2013 08:34:02 +0000 (08:34 +0000)]
tree-ssa-loop-ivopts.c (get_shiftadd_cost): Check equality using operand_equal_p.
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Check equality
using operand_equal_p.
From-SVN: r204498
Bin Cheng [Thu, 7 Nov 2013 08:12:34 +0000 (08:12 +0000)]
tree-ssa-loop-ivopts.c (alloc_iv): Lower address expressions.
* tree-ssa-loop-ivopts.c (alloc_iv): Lower address expressions.
* tree-affine.c (get_inner_reference_aff): Return base.
* tree-affine.h (get_inner_reference_aff): Change prototype.
* gcc.dg/tree-ssa/loop-2.c: Refine check condition.
* gcc.dg/tree-ssa/ivopt_infer_2.c: Ditto.
* gcc.dg/tree-ssa/ivopt_mult_3.c: Ditto.
From-SVN: r204497
GCC Administrator [Thu, 7 Nov 2013 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r204496
DJ Delorie [Wed, 6 Nov 2013 23:33:33 +0000 (18:33 -0500)]
c-decl.c (locate_old_decl): If a previous conflicting decl is both explicit and builtin...
* c-decl.c (locate_old_decl): If a previous conflicting decl is
both explicit and builtin, print the location of the explicit one.
* gcc.dg/mismatch-decl-1.c: New test.
From-SVN: r204491
Dodji Seketeli [Wed, 6 Nov 2013 22:51:36 +0000 (23:51 +0100)]
Revert "preprocessor/58580 - preprocessor goes OOM with warning for zero literals"
This reverts commit
fc3eff8854861fcd70d33d26095b17fe456fae31.
From-SVN: r204490
Joseph Myers [Wed, 6 Nov 2013 22:46:39 +0000 (22:46 +0000)]
float128-cmp-invalid.c, [...]: New tests.
gcc/testsuite:
* gcc.dg/torture/float128-cmp-invalid.c,
gcc.dg/torture/float128-div-underflow.c,
gcc.dg/torture/float128-extend-nan.c,
gcc.dg/torture/fp-int-convert-float128-timode-3.c: New tests.
libgcc:
* soft-fp/README: Update.
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixdfti.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixsfti.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixtfti.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunsdfti.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunssfti.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/fixunstfti.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floattidf.c: Likewise.
* soft-fp/floattisf.c: Likewise.
* soft-fp/floattitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/floatuntidf.c: Likewise.
* soft-fp/floatuntisf.c: Likewise.
* soft-fp/floatuntitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
From-SVN: r204489
Oleg Endo [Wed, 6 Nov 2013 22:33:01 +0000 (22:33 +0000)]
pr51244-11.c: Remove target line.
* gcc.target/sh/pr51244-11.c: Remove target line.
* gcc.target/sh/sh4a-sincosf.c: Likewise.
* gcc.target/sh/attr-isr-trap_exit.c: Likewise.
* gcc.target/sh/pr51244-15.c: Likewise.
* gcc.target/sh/pr51244-19.c: Likewise.
* gcc.target/sh/cmpstr.c: Likewise.
* gcc.target/sh/pr33135-3.c: Likewise.
* gcc.target/sh/pr53512-2.c: Likewise.
* gcc.target/sh/pr54602-2.c: Likewise.
* gcc.target/sh/pr52483-1.c: Likewise.
* gcc.target/sh/pr21255-2-ml.c: Likewise.
* gcc.target/sh/pr54760-4.c: Likewise.
* gcc.target/sh/pr52483-5.c: Likewise.
* gcc.target/sh/pr54089-2.c: Likewise.
* gcc.target/sh/pr56547-2.c: Likewise.
* gcc.target/sh/pr54089-6.c: Likewise.
* gcc.target/sh/pr51244-20.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-4.c: Likewise.
* gcc.target/sh/sh4a-fsrra.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-1.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-2.c: Likewise.
* gcc.target/sh/pr55303-2.c: Likewise.
* gcc.target/sh/sh2a-resbank.c: Likewise.
* gcc.target/sh/sp-switch.c: Likewise.
* gcc.target/sh/pr51244-3.c: Likewise.
* gcc.target/sh/pr50751-3.c: Likewise.
* gcc.target/sh/pr51244-7.c: Likewise.
* gcc.target/sh/struct-arg-dw2.c: Likewise.
* gcc.target/sh/pr50751-7.c: Likewise.
* gcc.target/sh/pr49468-di.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-4.c: Likewise.
* gcc.target/sh/pr49880-3.c: Likewise.
* gcc.target/sh/pr51244-12.c: Likewise.
* gcc.target/sh/pr53988.c: Likewise.
* gcc.target/sh/pr6526.c: Likewise.
* gcc.target/sh/sh2a-bxor.c: Likewise.
* gcc.target/sh/pr51244-16.c: Likewise.
* gcc.target/sh/sh2a-bclrmem.c: Likewise.
* gcc.target/sh/sh2a-bor.c: Likewise.
* gcc.target/sh/pr53511-1.c: Likewise.
* gcc.target/sh/pr21255-3.c: Likewise.
* gcc.target/sh/pr53512-3.c: Likewise.
* gcc.target/sh/pr33135-4.c: Likewise.
* gcc.target/sh/pr54602-3.c: Likewise.
* gcc.target/sh/pr54760-1.c: Likewise.
* gcc.target/sh/pr52483-2.c: Likewise.
* gcc.target/sh/sh2a-bsetmem.c: Likewise.
* gcc.target/sh/pr54680.c: Likewise.
* gcc.target/sh/pr54386.c: Likewise.
* gcc.target/sh/pr51244-20-sh2a.c: Likewise.
* gcc.target/sh/pr54089-3.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
* gcc.target/sh/pr54089-7.c: Likewise.
* gcc.target/sh/strlen.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-2.c: Likewise.
* gcc.target/sh/pr55303-3.c: Likewise.
* gcc.target/sh/pr51244-4.c: Likewise.
* gcc.target/sh/pr50751-4.c: Likewise.
* gcc.target/sh/pr39423-1.c: Likewise.
* gcc.target/sh/pr51244-8.c: Likewise.
* gcc.target/sh/pr55146.c: Likewise.
* gcc.target/sh/pr50751-8.c: Likewise.
* gcc.target/sh/sh2a-bset.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-1.c: Likewise.
* gcc.target/sh/sh2a-movi20s.c: Likewise.
* gcc.target/sh/
20080410-1.c: Likewise.
* gcc.target/sh/pr49880-4.c: Likewise.
* gcc.target/sh/pr51244-13.c: Likewise.
* gcc.target/sh/sh2a-movrt.c: Likewise.
* gcc.target/sh/pr51244-17.c: Likewise.
* gcc.target/sh/pr21255-2-mb.c: Likewise.
* gcc.target/sh/sh2a-bclr.c: Likewise.
* gcc.target/sh/pr33135-1.c: Likewise.
* gcc.target/sh/pr53512-4.c: Likewise.
* gcc.target/sh/pr54602-4.c: Likewise.
* gcc.target/sh/sh4a-bitmovua.c: Likewise.
* gcc.target/sh/pr54760-2.c: Likewise.
* gcc.target/sh/pr52483-3.c: Likewise.
* gcc.target/sh/sh2a-bld.c: Likewise.
* gcc.target/sh/pr54089-4.c: Likewise.
* gcc.target/sh/pr54685.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-2.c: Likewise.
* gcc.target/sh/pr54089-8.c: Likewise.
* gcc.target/sh/pragma-isr-trap-exit.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-3.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-4.c: Likewise.
* gcc.target/sh/pr51244-1.c: Likewise.
* gcc.target/sh/pr50751-1.c: Likewise.
* gcc.target/sh/pr55160.c: Likewise.
* gcc.target/sh/pr51244-5.c: Likewise.
* gcc.target/sh/pr54236-1.c: Likewise.
* gcc.target/sh/pr50751-5.c: Likewise.
* gcc.target/sh/pr52933-1.c: Likewise.
* gcc.target/sh/pr39423-2.c: Likewise.
* gcc.target/sh/pr51244-9.c: Likewise.
* gcc.target/sh/pr49263.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-2.c: Likewise.
* gcc.target/sh/pr49880-1.c: Likewise.
* gcc.target/sh/sh2a-band.c: Likewise.
* gcc.target/sh/pr51244-10.c: Likewise.
* gcc.target/sh/pr49880-5.c: Likewise.
* gcc.target/sh/prefetch.c: Likewise.
* gcc.target/sh/pr51244-14.c: Likewise.
* gcc.target/sh/rte-delay-slot.c: Likewise.
* gcc.target/sh/fpul-usage-1.c: Likewise.
* gcc.target/sh/pr51244-18.c: Likewise.
* gcc.target/sh/pr21255-1.c: Likewise.
* gcc.target/sh/pr33135-2.c: Likewise.
* gcc.target/sh/pr53512-1.c: Likewise.
* gcc.target/sh/pr54602-1.c: Likewise.
* gcc.target/sh/sh2a-rtsn.c: Likewise.
* gcc.target/sh/torture/pragma-isr.c: Likewise.
* gcc.target/sh/torture/pragma-isr2.c: Likewise.
* gcc.target/sh/torture/pr58314.c: Likewise.
* gcc.target/sh/torture/pr34777.c: Likewise.
* gcc.target/sh/torture/pr58475.c: Likewise.
* gcc.target/sh/pr54760-3.c: Likewise.
* gcc.target/sh/sh4a-cosf.c: Likewise.
* gcc.target/sh/pr52483-4.c: Likewise.
* gcc.target/sh/mfmovd.c: Likewise.
* gcc.target/sh/pr54089-1.c: Likewise.
* gcc.target/sh/pr56547-1.c: Likewise.
* gcc.target/sh/pr54089-5.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
* gcc.target/sh/pr54089-9.c: Likewise.
* gcc.target/sh/sh2a-jsrn.c: Likewise.
* gcc.target/sh/pr49468-si.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-1.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-4.c: Likewise.
* gcc.target/sh/pr55303-1.c: Likewise.
* gcc.target/sh/pr51244-2.c: Likewise.
* gcc.target/sh/pr50751-2.c: Likewise.
* gcc.target/sh/pr54236-2.c: Likewise.
* gcc.target/sh/pr51244-6.c: Likewise.
* gcc.target/sh/cmpstrn.c: Likewise.
* gcc.target/sh/pr50751-6.c: Likewise.
* gcc.target/sh/pr52933-2.c: Likewise.
* gcc.target/sh/pr53568-1.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-3.c: Likewise.
* gcc.target/sh/sh2a-tbr-jump.c: Likewise.
* gcc.target/sh/sh4a-sinf.c: Likewise.
* gcc.target/sh/pr49880-2.c: Likewise.
From-SVN: r204487
Tobias Burnus [Wed, 6 Nov 2013 22:28:08 +0000 (23:28 +0100)]
macro.c (_cpp_builtin_macro_text): Correct wording of two warnings.
libcpp/
2013-11-06 Tobias Burnus <burnus@net-b.de>
* macro.c (_cpp_builtin_macro_text): Correct
wording of two warnings.
gcc/c-family/
2013-11-06 Tobias Burnus <burnus@net-b.de>
* c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
gcc/
2013-11-06 Tobias Burnus <burnus@net-b.de>
* doc/invoke.texi (Wdate-time): Fix typo.
gcc/testsuite/
2013-11-06 Tobias Burnus <burnus@net-b.de>
* g++.dg/warn/wdate-time.C: Update dg-error pattern.
* gcc.dg/wdate-time.c: Ditto.
* gfortran.dg/wdate-time.F90: Ditto.
From-SVN: r204486
H.J. Lu [Wed, 6 Nov 2013 21:52:29 +0000 (21:52 +0000)]
Check __x86_64__ for FPU state
PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_posix.cc
(struct_user_fpxregs_struct_sz): Initialize to 0 if __x86_64__ is
defined.
From-SVN: r204483
H.J. Lu [Wed, 6 Nov 2013 21:51:41 +0000 (21:51 +0000)]
Use 64-bit system types for x86-64
PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_linux.cc
(struct_kernel_stat64_sz): Initialize to 0 if __x86_64__ is
defined.
* sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer_dirent): Use 64-bit d_ino/d_off if __x86_64__ is
defined.
(__sanitizer___kernel_uid_t): Typedef as unsigned if __x86_64__
is defined.
(__sanitizer___kernel_gid_t): Likewise.
(__sanitizer___kernel_off_t): Typedef as long long if __x86_64__
is defined.
From-SVN: r204482
H.J. Lu [Wed, 6 Nov 2013 21:50:42 +0000 (21:50 +0000)]
Fix internal_clone for x32
PR sanitizer/59018
* sanitizer_common/sanitizer_linux.cc (internal_clone): Allocate
2 64-bit integers to save and restore fn and arg. Properly load
newtls/child_tidptr into r8/r10.
From-SVN: r204481
H.J. Lu [Wed, 6 Nov 2013 21:49:36 +0000 (21:49 +0000)]
Cast pointers to uptr for 64-bit syscalls
PR sanitizer/59018
* sanitizer_common/sanitizer_linux.cc (internal_mmap,
internal_munmap, internal_open, internal_read, internal_write,
internal_stat, internal_lstat, internal_fstat, internal_readlink,
internal_unlink, internal_execve, NanoTime, BlockingMutex::Lock,
BlockingMutex::Unlock, internal_ptrace, internal_getdents,
internal_sigaltstack): Cast pointers to uptr for 64-bit syscalls.
From-SVN: r204480
Mike Stump [Wed, 6 Nov 2013 21:03:19 +0000 (21:03 +0000)]
Fix spacing.
From-SVN: r204479
Oleg Endo [Wed, 6 Nov 2013 20:37:45 +0000 (20:37 +0000)]
sh.md (addsf3, [...]): Use fp_arith_reg_operand instead of arith_reg_operand.
* config/sh/sh.md (addsf3, divsf3, divsf3_i, rsqrtsf2, cmpgtdf_t,
cmpeqdf_t, *ieee_ccmpeqdf_t, negdf2, sqrtdf2, absdf2): Use
fp_arith_reg_operand instead of arith_reg_operand.
From-SVN: r204478
Oleg Endo [Wed, 6 Nov 2013 20:35:55 +0000 (20:35 +0000)]
sh.md (adddi3): Remove empty constraints.
* config/sh/sh.md (adddi3): Remove empty constraints.
Remove can_create_pseudo_p and arith_reg_operand check.
(adddi3_compact, subdi3_compact, *negdi2): Remove constraints.
Split before reload.
From-SVN: r204477
Jeff Law [Wed, 6 Nov 2013 20:28:03 +0000 (13:28 -0700)]
gdbinit.in: Disable strict type checking.
* gdbinit.in: Disable strict type checking.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r204474
Oleg Endo [Wed, 6 Nov 2013 20:26:35 +0000 (20:26 +0000)]
re PR rtl-optimization/30807 (postreload bug (might be generic in trunk))
PR target/30807
* gcc.target/sh/torture/pr30807.c: New.
From-SVN: r204473
Paolo Carlini [Wed, 6 Nov 2013 20:19:10 +0000 (20:19 +0000)]
re PR c++/11006 ([CNI] ICE with use of __java_boolean)
/cp
2013-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/11006
* init.c (build_new_1): Don't call build_java_class_ref on non-class
types.
/testsuite
2013-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/11006
* g++.dg/other/java3.C: New.
From-SVN: r204469
Ian Lance Taylor [Wed, 6 Nov 2013 19:49:01 +0000 (19:49 +0000)]
libgo: Update to October 24 version of master library.
From-SVN: r204466
Vladimir Makarov [Wed, 6 Nov 2013 19:46:39 +0000 (19:46 +0000)]
tree-pass.h (make_pass_live_range_shrinkage): New external.
2013-11-06 Vladimir Makarov <vmakarov@redhat.com>
* tree-pass.h (make_pass_live_range_shrinkage): New external.
* timevar.def (TV_LIVE_RANGE_SHRINKAGE): New.
* sched-rgn.c (gate_handle_live_range_shrinkage): New.
(rest_of_handle_live_range_shrinkage): Ditto
(class pass_live_range_shrinkage): Ditto.
(pass_data_live_range_shrinkage): Ditto.
(make_pass_live_range_shrinkage): Ditto.
* sched-int.h (initialize_live_range_shrinkage): New prototype.
(finish_live_range_shrinkage): Ditto.
* sched-deps.c (create_insn_reg_set): Make void return value.
* passes.def: Add pass_live_range_shrinkage.
* ira.c (update_equiv_regs): Don't move if
flag_live_range_shrinkage.
* haifa-sched.c (live_range_shrinkage_p): New.
(initialize_live_range_shrinkage, finish_live_range_shrinkage):
New functions.
(rank_for_schedule): Add code for pressure relief through live
range shrinkage.
(schedule_insn): Print more debug info.
(sched_init): Setup SCHED_PRESSURE_WEIGHTED for pressure relief
through live range shrinkage.
* doc/invoke.texi (-flive-range-shrinkage): New.
* common.opt (flive-range-shrinkage): New.
From-SVN: r204465
Uros Bizjak [Wed, 6 Nov 2013 19:37:12 +0000 (20:37 +0100)]
re PR target/59021 (new vzeroupper instructions generated with -mavx)
PR target/59021
* config/i386/i386.c (ix86_avx_u128_mode_needed): Require
AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
RTXes that return in AVX256 register.
testsuite/ChangeLog:
PR target/59021
* gcc.target/i386/pr59021.c: New test.
From-SVN: r204464
James Lemke [Wed, 6 Nov 2013 18:10:34 +0000 (18:10 +0000)]
gcc-defs.exp (dg-additional-files-options): Extend regsub for dg-additional-files to also match BOL.
2013-11-06 James Lemke <jwlemke@codesourcery.com>
* lib/gcc-defs.exp (dg-additional-files-options): Extend regsub for
dg-additional-files to also match BOL.
From-SVN: r204462
Joseph Myers [Wed, 6 Nov 2013 16:52:47 +0000 (16:52 +0000)]
c-opts.c (c_common_post_options): Set -ffp-contract=off in C standards modes.
c-family:
* c-opts.c (c_common_post_options): Set -ffp-contract=off in C
standards modes.
* c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
to mean lack of IEEE 754 support.
testsuite:
* gcc.dg/torture/c99-contract-1.c: New test.
From-SVN: r204460
Ian Lance Taylor [Wed, 6 Nov 2013 15:14:28 +0000 (15:14 +0000)]
go-lang.c (go_langhook_post_options): If -fisolate-erroneous-paths was turned on by an optimization option, turn it off.
* go-lang.c (go_langhook_post_options): If
-fisolate-erroneous-paths was turned on by an optimization option,
turn it off.
From-SVN: r204459
Richard Biener [Wed, 6 Nov 2013 15:00:16 +0000 (15:00 +0000)]
re PR tree-optimization/58653 (wrong code (segfaults) at -O3 on x86_64-linux-gnu in 64-bit mode (affecting gcc 4.6 to trunk))
2013-11-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/58653
* tree-predcom.c (ref_at_iteration): Rewrite to generate
a MEM_REF.
(prepare_initializers_chain): Adjust.
* gcc.dg/tree-ssa/predcom-6.c: New testcase.
* gcc.dg/tree-ssa/predcom-7.c: Likewise.
From-SVN: r204458
Balaji V. Iyer [Wed, 6 Nov 2013 14:55:46 +0000 (14:55 +0000)]
fib.c: Reduced the iteration from 40 to 30.
2013-11-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
* c-c++-common/cilk-plus/CK/fib.c: Reduced the iteration from
40 to 30. Replaced iteration variable with a #define. Instead of
returning non-zero value for error, called __builtin_abort (). Fixed
a bug of calling fib_serial in serial case instead of fib.
* c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
* gcc.dg/cilk-plus/cilk-plus.exp: Removed duplicate/un-necessary
compiler flag testing.
From-SVN: r204457
Jason Merrill [Wed, 6 Nov 2013 14:37:46 +0000 (09:37 -0500)]
typo
From-SVN: r204456
Andrew MacLeod [Wed, 6 Nov 2013 13:11:14 +0000 (13:11 +0000)]
gimple.h (block_in_transaction): Move to basic-block.h and rename.
* gimple.h (block_in_transaction): Move to basic-block.h and rename.
(gimple_in_transaction): Use bb_in_transaction.
* basic-block.h (bb_in_transaction): Relocate here and rename.
* tree-ssa-loop-im.c (execute_sm): Use bb_in_transaction.
From-SVN: r204455
Richard Biener [Wed, 6 Nov 2013 13:08:06 +0000 (13:08 +0000)]
tree.c (drop_tree_overflow): New function.
2013-11-06 Richard Biener <rguenther@suse.de>
* tree.c (drop_tree_overflow): New function.
* tree.h (drop_tree_overflow): Declare.
* gimplify.c (gimplify_expr): Drop TREE_OVERFLOW.
* tree-vrp.c (range_int_cst_singleton_p): Use
is_overflow_infinity instead of testing TREE_OVERFLOW.
(extract_range_from_assert): Likewise.
(zero_nonzero_bits_from_vr): Likewise.
(extract_range_basic): Likewise.
(register_new_assert_for): Use drop_tree_overflow.
(vrp_visit_phi_node): Likewise.
From-SVN: r204454
Dodji Seketeli [Wed, 6 Nov 2013 11:33:52 +0000 (11:33 +0000)]
preprocessor/58580 - preprocessor goes OOM with warning for zero literals
In this problem report, the compiler is fed a (bogus) translation unit
in which some literals contain bytes whose value is zero. The
preprocessor detects that and proceeds to emit diagnostics for that
king of bogus literals. But then when the diagnostics machinery
re-reads the input file again to display the bogus literals with a
caret, it attempts to calculate the length of each of the lines it got
using fgets. The line length calculation is done using strlen. But
that doesn't work well when the content of the line can have several
zero bytes. The result is that the read_line never sees the end of
the line because strlen repeatedly reports that the line ends before
the end-of-line character; so read_line thinks its buffer for reading
the line is too small; it thus increases the buffer, leading to a huge
memory consumption, pain and disaster.
The patch below introduces a new get_line function that returns the
next line of a file and return the length of that line even if the
line contains zero bytes. That get_line function has been adapted
from the getline function from the GNU C Library because getline being
a GNU extension it is not necessarily supported on all platforms.
read_line is then modified to return the length of the line along with
the line itself, as the line can now contain zero bytes. Callers of
read_line are adjusted consequently.
diagnostic_show_locus() is modified to consider that a line can have
characters of value zero, and so just shows a white space when
instructed to display one of these characters.
gcc/ChangeLog:
* input.h (location_get_source_line): Take an additional line_size
parameter.
* input.c (get_line): New static function definition.
(read_line): Take an additional line_length output parameter to be
set to the size of the line. Use the new get_line function do the
actual line reading.
(location_get_source_line): Take an additional output line_len
parameter. Update the use of read_line to pass it the line_len
parameter.
* diagnostic.c (adjust_line): Take an additional input parameter
for the length of the line, rather than calculating it with
strlen.
(diagnostic_show_locus): Adjust the use of
location_get_source_line and adjust_line with respect to their new
signature. While displaying a line now, do not stop at the first
null byte. Rather, display the zero byte as a space and keep
going until we reach the size of the line.
gcc/testsuite/ChangeLog:
* c-c++-common/cpp/warning-zero-in-literals-1.c: New test file.
From-SVN: r204453
Eric Botcazou [Wed, 6 Nov 2013 11:22:59 +0000 (11:22 +0000)]
Fix formatting
From-SVN: r204452
Eric Botcazou [Wed, 6 Nov 2013 10:55:13 +0000 (10:55 +0000)]
i386.c (ix86_expand_prologue): Optimize stack checking for leaf functions without dynamic stack allocation.
* config/i386/i386.c (ix86_expand_prologue): Optimize stack checking for
leaf functions without dynamic stack allocation.
* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
(ia64_expand_prologue): Likewise.
* config/mips/mips.c (mips_expand_prologue): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
(sparc_flat_expand_prologue): Likewise.
From-SVN: r204450
Jonathan Wakely [Wed, 6 Nov 2013 09:47:51 +0000 (09:47 +0000)]
regex_automaton.h (_S_opcode_word_boundry): Rename to _S_opcode_word_boundary.
* include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
_S_opcode_word_boundary.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
Rename to _M_word_boundary.
* include/bits/regex_executor.tcc: Likewise.
From-SVN: r204449
James Greenhalgh [Wed, 6 Nov 2013 09:23:30 +0000 (09:23 +0000)]
[AArch64] Fix size of memory store for the vst<n>_lane intrinsics
gcc/
* config/aarch64/arm_neon.h
(__ST2_LANE_FUNC): Better model data size.
(__ST3_LANE_FUNC): Likewise.
(__ST4_LANE_FUNC): Likewise.
From-SVN: r204448
Nick Clifton [Wed, 6 Nov 2013 09:03:35 +0000 (09:03 +0000)]
msp430.h (TARGET_CPU_CPP_BUILTINS): Define the name returned by msp430_mcu_name.
* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define the
name returned by msp430_mcu_name.
(LIB_SPEC): If a -T option has not been specified then set a
default, mcu-specific, linker script.
* config/msp430/t-msp430 (MULTILIB_MATCHES): Add more mcu names.
* config/msp430/msp430.c (msp430x_names): Likewise.
Alpha sort the names for ease of comparison.
(msp430_mcu_name): New function: Returns a string suitable for
use as a C preprocessor symbol based upon the name of the MCU
being targeted.
(msp430_option_override): Accept msp430x and msp430xv2 as generic
mcu names.
* config/msp430/msp430-protos.h (msp430_mcu_name): Prototype.
From-SVN: r204447
Nick Clifton [Wed, 6 Nov 2013 08:52:57 +0000 (08:52 +0000)]
gcc.c (do_spec_1): Do not insert a space after a %* substitution unless...
* gcc.c (do_spec_1): Do not insert a space after a %* substitution
unless it is the last part of a spec substring.
* doc/invoke.texi (Spec Files): Document space insertion
behaviour of %*.
From-SVN: r204446
Christian Bruel [Wed, 6 Nov 2013 08:49:15 +0000 (09:49 +0100)]
sh-mem.cc (sh_expand_cmpnstr, [...]): Factorize probabilities...
2013-11-06 Christian Bruel <christian.bruel@st.com>
* gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr, sh_expand_cmpstr):
Factorize probabilities, Use adjust_address instead of
adjust_automodify_address when possible. Enable for optimize.
(sh_expand_strlen): New function.
* gcc/config/sh/sh-protos.h (sh_expand_strlen): Declare.
* gcc/config/sh/sh.md (strlensi): New pattern.
(UNSPEC_BUILTIN_STRLEN): Define.
From-SVN: r204445
Jakub Jelinek [Wed, 6 Nov 2013 07:48:50 +0000 (08:48 +0100)]
re PR middle-end/58970 (internal compiler error: in get_bit_range, at expr.c:4562)
PR middle-end/58970
* expr.c (get_bit_range): Handle *offset == NULL_TREE.
(expand_assignment): If *bitpos is negative, set *offset
and adjust *bitpos, so that it is not negative.
* gcc.c-torture/compile/pr58970.c: New test.
From-SVN: r204444
Francois-Xavier Coudert [Wed, 6 Nov 2013 07:04:12 +0000 (07:04 +0000)]
* gfortran.texi: Fix typo.
From-SVN: r204443
Ganesh Gopalasubramanian [Wed, 6 Nov 2013 05:38:09 +0000 (05:38 +0000)]
scheduler improvements for BD architectures
From-SVN: r204442
Bill Schmidt [Wed, 6 Nov 2013 03:32:01 +0000 (03:32 +0000)]
rs6000.c (rs6000_option_override_internal): Remove restriction against use of VSX instructions when...
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Remove restriction against use of VSX instructions when generating
code for little endian mode.
From-SVN: r204441
Bill Schmidt [Wed, 6 Nov 2013 03:29:44 +0000 (03:29 +0000)]
altivec.md (mulv4si3): Ensure we generate vmulouh for both big and little endian.
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (mulv4si3): Ensure we generate vmulouh
for both big and little endian.
(mulv8hi3): Swap input operands for merge high and merge low
instructions for little endian.
From-SVN: r204440
Bill Schmidt [Wed, 6 Nov 2013 03:27:20 +0000 (03:27 +0000)]
altivec.md (vec_widen_umult_even_v16qi): Change define_insn to define_expand that uses even patterns for big endian and...
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Change
define_insn to define_expand that uses even patterns for big
endian and odd patterns for little endian.
(vec_widen_smult_even_v16qi): Likewise.
(vec_widen_umult_even_v8hi): Likewise.
(vec_widen_smult_even_v8hi): Likewise.
(vec_widen_umult_odd_v16qi): Likewise.
(vec_widen_smult_odd_v16qi): Likewise.
(vec_widen_umult_odd_v8hi): Likewise.
(vec_widen_smult_odd_v8hi): Likewise.
(altivec_vmuleub): New define_insn.
(altivec_vmuloub): Likewise.
(altivec_vmulesb): Likewise.
(altivec_vmulosb): Likewise.
(altivec_vmuleuh): Likewise.
(altivec_vmulouh): Likewise.
(altivec_vmulesh): Likewise.
(altivec_vmulosh): Likewise.
From-SVN: r204439
Wei Mi [Wed, 6 Nov 2013 02:46:17 +0000 (02:46 +0000)]
re PR regression/58985 (gcc.dg/pr57518.c scan-rtl-dump-not ira REG_EQUIV...)
2013-11-05 Wei Mi <wmi@google.com>
PR regression/58985
* testsuite/gcc.dg/pr57518.c: Add subreg in regexp pattern.
From-SVN: r204438
Mike Stump [Wed, 6 Nov 2013 02:34:02 +0000 (02:34 +0000)]
* Makefile.in (mostlyclean): Remove c-family objects.
From-SVN: r204437
Ian Lance Taylor [Wed, 6 Nov 2013 01:03:57 +0000 (01:03 +0000)]
sync.md (atomic_compare_and_swap<dwi>_doubleword): If possible, add .cfi directives to record change to bx.
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
If possible, add .cfi directives to record change to bx.
* config/i386/i386.c (ix86_emit_cfi): New function.
* config/i386/i386-protos.h (ix86_emit_cfi): Declare.
From-SVN: r204433
GCC Administrator [Wed, 6 Nov 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r204430
Jonathan Wakely [Tue, 5 Nov 2013 22:57:36 +0000 (22:57 +0000)]
N3655 C++1y TransformationTraits Redux
N3655 C++1y TransformationTraits Redux
* include/std/type_traits (remove_const_t, remove_volatile_t,
remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
make_unsigned_t, remove_extent_t, remove_all_extents_t,
remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
enable_if_t, conditional_t, common_type_t, underlying_type_t,
result_of_t): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
* testsuite/20_util/decay/requirements/typedefs-2.cc: New.
* testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
* testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
* testsuite/20_util/result_of/requirements/typedefs.cc: New.
* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
compile-only test.
* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r204426
Steven Bosscher [Tue, 5 Nov 2013 21:57:45 +0000 (21:57 +0000)]
rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow immediately after a label for a...
* rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow
immediately after a label for a tablejump pattern.
* config/arm/arm.c (is_jump_table): Remove.
(create_fix_barrier): Use tablejump_p instead.
(arm_reorg): Likewise.
(thumb1_output_casesi): Expect JUMP_TABLE_DATA to always be NEXT_INSN.
(thumb2_output_casesi): Likewise.
* config/aarch64/aarch64.c (aarch64_output_casesi): Likewise.
* config/sh/sh.md (casesi_worker_1, casesi_worker_2,
casesi_shift_media, casesi_load_media): Likewise.
* config/iq2000/iq2000.md: Likewise (in anonymous define_insn).
* config/microblaze/microblaze.md: Likewise.
From-SVN: r204424
Tobias Burnus [Tue, 5 Nov 2013 20:27:22 +0000 (21:27 +0100)]
c.opt (-Wdate-time): New option
2013-11-05 Tobias Burnus <burnus@net-b.de>
gcc/c-family/
* c.opt (-Wdate-time): New option
* c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
gcc/
* doc/invoke.texi (-Wdate-time): Document.
gcc/fortran
* lang.opt (-Wdate-time): New option
* cpp.c (gfc_cpp_option_data): Add warn_date_time.
(gfc_cpp_init_options, gfc_cpp_handle_option,
gfc_cpp_post_options): Handle it and pass on to libcpp.
gcc/testsuite/
* g++.dg/warn/wdate-time.C: New.
* gcc.dg/wdate-time.c: New.
* gfortran.dg/wdate-time.F90: New.
libcpp/
* include/cpplib.h (CPP_W_DATE_TIME): Added.
(cpp_options): Add warn_date_time.
* init.c (cpp_create_reader): Init it.
* macro.c (_cpp_builtin_macro_text): Warn when
__DATE__/__TIME__/__TIMESTAMP__ is used.
From-SVN: r204420
Steven G. Kargl [Tue, 5 Nov 2013 20:02:43 +0000 (20:02 +0000)]
re PR fortran/58989 (internal compiler error when using reshape function)
2013-11-05 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/58989
* check.c (gfc_check_reshape): ensure that shape is a constant
expression.
2013-11-05 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/58989
* gfortran.dg/reshape_6.f90: New test.
From-SVN: r204419
Jonathan Wakely [Tue, 5 Nov 2013 19:59:21 +0000 (19:59 +0000)]
status_cxx2011.xml: Document aligned_union as missing.
* doc/xml/manual/status_cxx2011.xml: Document aligned_union as
missing.
From-SVN: r204416
Richard Sandiford [Tue, 5 Nov 2013 19:58:12 +0000 (19:58 +0000)]
double-int.c (lshift_double, [...]): Remove SHIFT_COUNT_TRUNCATED handling.
gcc/
* double-int.c (lshift_double, rshift_double): Remove
SHIFT_COUNT_TRUNCATED handling.
From-SVN: r204415
Jeff Law [Tue, 5 Nov 2013 19:47:44 +0000 (12:47 -0700)]
Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
* Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
* common.opt (-fisolate-erroneous-paths): Add option and
documentation.
* gimple-ssa-isolate-paths.c: New file.
* gimple.c (check_loadstore): New function.
(infer_nonnull_range): Moved into gimple.c from tree-vrp.c
Verify OP is in the argument list and the argument corresponding
to OP is a pointer type. Use operand_equal_p rather than
pointer equality when testing if OP is on the nonnull list.
Use check_loadstore rather than count_ptr_derefs. Handle
GIMPLE_RETURN statements.
* tree-vrp.c (infer_nonnull_range): Remove.
* gimple.h (infer_nonnull_range): Declare.
* opts.c (default_options_table): Add
* OPT_fisolate_erroneous_paths.
* passes.def: Add pass_isolate_erroneous_paths.
* timevar.def (TV_ISOLATE_ERRONEOUS_PATHS): New timevar.
* tree-pass.h (make_pass_isolate_erroneous_paths): Declare.
* tree-ssa.c (struct count_ptr_d): Remove.
(count_ptr_derefs, count_uses_and_derefs): Remove.
* tree-ssa.h (count_uses_and_derefs): Remove.
* gcc.dg/pr38984.c: Add -fno-isolate-erroneous-paths.
* gcc.dg/tree-ssa/isolate-1.c: New test.
* gcc.dg/tree-ssa/isolate-2.c: New test.
* gcc.dg/tree-ssa/isolate-3.c: New test.
* gcc.dg/tree-ssa/isolate-4.c: New test.
From-SVN: r204414
Jakub Jelinek [Tue, 5 Nov 2013 19:37:51 +0000 (20:37 +0100)]
re PR rtl-optimization/58997 (ICE on valid code at -O3 on x86_64-linux-gnu (affecting gcc trunk and 4.8.2))
PR rtl-optimization/58997
* loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
get_iv_value to be in iv->mode rather than iv->extend_mode.
(iv_extend): Likewise. Otherwise, if iv->extend != extend,
use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
* loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
mode.
* gcc.c-torture/compile/pr58997.c: New test.
From-SVN: r204413
Andrew MacLeod [Tue, 5 Nov 2013 19:26:07 +0000 (19:26 +0000)]
gimple.h: Move some prototypes to gimple-expr.h and add to include list.
* gimple.h: Move some prototypes to gimple-expr.h and add to include
list.
(extract_ops_from_tree, gimple_call_addr_fndecl, is_gimple_reg_type):
Move to gimple-expr.h.
* gimple-expr.h: New file. Relocate some prototypes from gimple.h.
(types_compatible_p, is_gimple_reg_type, is_gimple_variable,
is_gimple_id, virtual_operand_p, is_gimple_addressable,
is_gimple_constant, extract_ops_from_tree, gimple_call_addr_fndecl):
Relocate here.
* gimple.c (extract_ops_from_tree_1, gimple_cond_get_ops_from_tree,
gimple_set_body, gimple_body, gimple_has_body_p, is_gimple_lvalue,
is_gimple_condexpr, is_gimple_addressable, is_gimple_constant,
is_gimple_address, is_gimple_invariant_address,
is_gimple_ip_invariant_address, is_gimple_min_invariant,
is_gimple_ip_invariant, is_gimple_variable, is_gimple_id,
virtual_operand_p, is_gimple_reg, is_gimple_val, is_gimple_asm_val,
is_gimple_min_lval, is_gimple_call_addr, is_gimple_mem_ref_addr,
gimple_decl_printable_name, useless_type_conversion_p,
types_compatible_p, gimple_can_coalesce_p, copy_var_decl): Move to
gimple-expr.[ch].
* gimple-expr.c: New File.
(useless_type_conversion_p, gimple_set_body, gimple_body,
gimple_has_body_p, gimple_decl_printable_name, copy_var_decl,
gimple_can_coalesce_p, extract_ops_from_tree_1,
gimple_cond_get_ops_from_tree, is_gimple_lvalue, is_gimple_condexpr,
is_gimple_address, is_gimple_invariant_address,
is_gimple_ip_invariant_address, is_gimple_min_invariant,
is_gimple_ip_invariant, is_gimple_reg, is_gimple_val,
is_gimple_asm_val, is_gimple_min_lval, is_gimple_call_addr,
is_gimple_mem_ref_addr): Relocate here.
* Makefile.in (OBJS): Add gimple-expr.o.
From-SVN: r204412
David Malcolm [Tue, 5 Nov 2013 18:55:22 +0000 (18:55 +0000)]
Support empty structs in gengtype
gcc/
* gengtype-parse.c (struct_field_seq): Support empty structs.
From-SVN: r204411
Uros Bizjak [Tue, 5 Nov 2013 18:22:12 +0000 (19:22 +0100)]
t-rtems (MULTILIB_MATCHES): Fix option typos.
* config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
From-SVN: r204407
Jason Merrill [Tue, 5 Nov 2013 18:03:03 +0000 (13:03 -0500)]
re PR c++/58868 (ICE: in count_type_elements, at expr.c:5495 with -std=gnu++0x)
PR c++/58868
* decl.c (check_initializer): Don't use build_vec_init for arrays
of trivial type.
From-SVN: r204406
Uros Bizjak [Tue, 5 Nov 2013 16:08:30 +0000 (17:08 +0100)]
i386-c.c (ix86_target_macros): Define _SOFT_FLOAT for !TARGET_80387.
gcc/
* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
for !TARGET_80387.
* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
_SOFT_FLOAT here.
(LONG_DOUBLE_TYPE_SIZE): New define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.
libgcc/
* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
(_FP_MUL_MEAT_D): Ditto.
(_FP_DIV_MEAT_S): Ditto.
(_FP_DIV_MEAT_D): Ditto.
* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
t-softfp-sfdf and t-softfp to tmake_file.
M gcc/config/i386/i386-c.c
M gcc/config/i386/rtemself.h
M gcc/ChangeLog
M libgcc/ChangeLog
M libgcc/config.host
M libgcc/config/i386/32/sfp-machine.h
From-SVN: r204404
Jonathan Wakely [Tue, 5 Nov 2013 15:24:08 +0000 (15:24 +0000)]
optional: Use __and_<> and __not_<> in conditions.
2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/experimental/optional: Use __and_<> and __not_<> in
conditions. Style fixes.
(__constexpr_addressof, swap): Make inline.
* testsuite/experimental/optional/cons/copy.cc: Adjust constants for
32-bit targets.
* testsuite/experimental/optional/cons/move.cc: Likewise.
* testsuite/experimental/optional/cons/value.cc: Likewise.
* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r204402
Paolo Carlini [Tue, 5 Nov 2013 15:22:36 +0000 (15:22 +0000)]
re PR c++/58724 (ICE with attribute [[gnu::visibility("default")]] on namespace)
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* doc/extend.texi [visibility ("visibility_type")]: Add example
about visibility attribute on namespace declaration.
/cp
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* name-lookup.c (handle_namespace_attrs): Use get_attribute_name.
/testsuite
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* g++.dg/cpp0x/gen-attrs-56.C: New.
From-SVN: r204401
Richard Biener [Tue, 5 Nov 2013 15:09:40 +0000 (15:09 +0000)]
re PR ipa/58492 (ICE: verify_flow_info failed)
2013-11-05 Richard Biener <rguenther@suse.de>
PR ipa/58492
* passes.def (all_passes): Start with pass_fixup_cfg again.
* gcc.dg/ipa/pr58492.c: New testcase.
From-SVN: r204399
Richard Biener [Tue, 5 Nov 2013 15:08:43 +0000 (15:08 +0000)]
re PR tree-optimization/58955 (wrong code at -O3 on x86_64-linux-gnu)
2013-11-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/58955
* tree-loop-distribution.c (pg_add_dependence_edges): Fix
edge direction.
* gcc.dg/torture/pr58955-1.c: New testcase.
* gcc.dg/torture/pr58955-2.c: Likewise.
From-SVN: r204398
Balaji V. Iyer [Tue, 5 Nov 2013 14:43:37 +0000 (14:43 +0000)]
Disable libcilkrts when C++ is not used.
2013-11-04 Balaji V. Iyer <balaji.v.iyer@intel.com>
* configure.ac: Added libcilkrts to noconfig list when C++ is not
supported.
* configure: Regenerated.
From-SVN: r204396
Bill Schmidt [Tue, 5 Nov 2013 14:27:17 +0000 (14:27 +0000)]
vector.md (vec_pack_sfix_trunc_v2df): Adjust for little endian.
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for
little endian.
(vec_pack_ufix_trunc_v2df): Likewise.
From-SVN: r204395
H.J. Lu [Tue, 5 Nov 2013 14:17:33 +0000 (14:17 +0000)]
Don't use mode wider than Pmode for size in movmem/setmem
gcc/
PR middle-end/58981
* doc/md.texi (@code{movmem@var{m}}): Specify Pmode as mode of
pattern, instead of word_mode.
* expr.c (emit_block_move_via_movmem): Don't use mode wider than
Pmode for size.
(set_storage_via_setmem): Likewise.
gcc/testsuite/
PR middle-end/58981
* gcc.dg/pr58981.c: New test.
From-SVN: r204394
Andrew MacLeod [Tue, 5 Nov 2013 14:13:56 +0000 (14:13 +0000)]
tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from gimple.h and the rest of the condition in...
2013-11-05 Andrew MacLeod <amacleod@redhat.com>
* tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from
gimple.h and the rest of the condition in eliminate_build.
(eliminate_build): Call new routine.
* gimple.h (phi_ssa_name_p): Delete.
From-SVN: r204393
Trevor Saunders [Tue, 5 Nov 2013 13:51:32 +0000 (13:51 +0000)]
don't try and free what must be a null vector when reserving 0 elements
in va_heap::reserve
2013-11-05 Trevor Saunders <tsaunders@mozilla.com>
* vec.c (vec_prefix::calculate_allocation): Don't try to handle the
case of no prefix and reserving zero slots, because when that's the
case we'll never get here.
* vec.h (va_heap::reserve): Don't try and handle
vec_prefix::calculate_allocation returning zero because that should
never happen.
From-SVN: r204392
Richard Biener [Tue, 5 Nov 2013 13:24:13 +0000 (13:24 +0000)]
re PR middle-end/58941 (value modification on zero-length array optimized away)
2013-11-05 Richard Biener <rguenther@suse.de>
PR middle-end/58941
* tree-dfa.c (get_ref_base_and_extent): Merge common code
in MEM_REF and TARGET_MEM_REF handling. Make sure to
process trailing array detection before diving into the
view-converted object (and possibly apply some extra offset).
* gcc.dg/torture/pr58941.c: New testcase.
From-SVN: r204391
Joseph Myers [Tue, 5 Nov 2013 13:21:36 +0000 (13:21 +0000)]
i386.c (ix86_float_exceptions_rounding_supported_p): New function.
* config/i386/i386.c (ix86_float_exceptions_rounding_supported_p):
New function.
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Define.
c-family:
* c-cppbuiltin.c (cpp_iec_559_value): Test
flag_excess_precision_cmdline not flag_excess_precision.
From-SVN: r204390
Marc Glisse [Tue, 5 Nov 2013 13:01:06 +0000 (14:01 +0100)]
re PR tree-optimization/58958 (Wrong aliasing info for variable index)
2013-11-05 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/58958
gcc/
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Use
get_addr_base_and_unit_offset instead of get_ref_base_and_extent.
gcc/testsuite/
* gcc.dg/tree-ssa/pr58958.c: New file.
From-SVN: r204389
Marc Glisse [Tue, 5 Nov 2013 12:38:00 +0000 (13:38 +0100)]
tree-ssa-alias.h (ranges_overlap_p): Handle negative offsets.
2013-11-05 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-ssa-alias.h (ranges_overlap_p): Handle negative offsets.
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Likewise.
gcc/testsuite/
* gcc.dg/tree-ssa/alias-26.c: New file.
From-SVN: r204388
Jakub Jelinek [Tue, 5 Nov 2013 12:05:37 +0000 (13:05 +0100)]
re PR tree-optimization/58984 (wrong code at -Os and above on x86_64-linux-gnu in 64-bit mode)
PR tree-optimization/58984
* ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
set *SIZE_P if non-NULL on success.
(ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
callers.
(ipcp_transform_function): Likewise. Punt if size of access
is different from TYPE_SIZE on v->value's type.
* gcc.c-torture/execute/pr58984.c: New test.
From-SVN: r204385
Andreas Schwab [Tue, 5 Nov 2013 10:02:48 +0000 (10:02 +0000)]
* g++.dg/ext/sync-4.C: Require sync_long_long_runtime support.
From-SVN: r204383
Tobias Burnus [Tue, 5 Nov 2013 07:29:47 +0000 (08:29 +0100)]
invoke.texi (-fopenmp-simd): Document new option.
2013-11-05 Tobias Burnus <burnus@net-b.de>
gcc/
* doc/invoke.texi (-fopenmp-simd): Document new option.
* gimplify.c (gimplify_body): Accept -fopenmp-simd.
* omp-low.c (execute_expand_omp, execute_lower_omp): Ditto.
* tree.c (attribute_value_equal): Ditto.
gcc/fortran/
* lang.opt (fopenmp-simd): New option.
* gfortran.h (gfc_option_t): Add gfc_flag_openmp_simd.
* options.c (gfc_handle_option): Handle it.
gcc/c-family/
* c.opt (fopenmp-simd): New option.
* c-pragma.c (omp_pragmas): Move pragmas which can contain simd
* to ...
(omp_pragmas): ... this new struct.
(c_pp_lookup_pragma): Also walk omp_pragmas.
(init_pragma): Init pragmas for -fopenmp-simd.
gcc/c
* c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
c_parser_omp_distribute, c_parser_omp_teams,
c_parser_omp_target, c_parser_omp_declare): Handle
-fopenmp-simd.
gcc/cp
* parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
cp_parser_omp_distribute, cp_parser_omp_teams,
cp_parser_omp_target,
cp_parser_omp_declare): Handle
-fopenmp-simd.
gcc/testsuite/
* g++.dg/gomp/openmp-simd-1.C: New.
* g++.dg/gomp/openmp-simd-2.C: New.
* gcc.dg/gomp/openmp-simd-1.c: New.
* gcc.dg/gomp/openmp-simd-2.c: New.
From-SVN: r204382
Balaji V. Iyer [Tue, 5 Nov 2013 04:12:53 +0000 (04:12 +0000)]
fix for PR bootstrap/58951 +2013-11-04 Balaji V.
fix for PR bootstrap/58951
+2013-11-04 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ PR bootstrap/58951
+ * Makefile.am (AM_LDFLAGS): Removed -ldl flag.
+ * Makefile.in: Regenerate.
+
From-SVN: r204381
Senthil Kumar Selvaraj [Tue, 5 Nov 2013 00:19:43 +0000 (00:19 +0000)]
superblock.c: Require scheduling support.
2013-11-04 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/superblock.c: Require scheduling support.
From-SVN: r204376
GCC Administrator [Tue, 5 Nov 2013 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r204375
Ian Lance Taylor [Mon, 4 Nov 2013 22:08:56 +0000 (22:08 +0000)]
* f95-lang.c (ATTR_LEAF_LIST): Define.
From-SVN: r204372
Wei Mi [Mon, 4 Nov 2013 21:45:05 +0000 (21:45 +0000)]
sched-rgn.c (add_branch_dependences): Keep insns in a SCHED_GROUP at the end of BB to remain their location.
2013-11-04 Wei Mi <wmi@google.com>
* sched-rgn.c (add_branch_dependences): Keep insns in
a SCHED_GROUP at the end of BB to remain their location.
From-SVN: r204371
Wei Mi [Mon, 4 Nov 2013 21:41:48 +0000 (21:41 +0000)]
i386.c (memory_address_length): Extract a part of code to rip_relative_addr_p.
2013-11-04 Wei Mi <wmi@google.com>
* gcc/config/i386/i386.c (memory_address_length): Extract a part
of code to rip_relative_addr_p.
(rip_relative_addr_p): New Function.
(ix86_macro_fusion_p): Ditto.
(ix86_macro_fusion_pair_p): Ditto.
* gcc/config/i386/i386.h: Add new tune features about macro-fusion.
* gcc/config/i386/x86-tune.def (DEF_TUNE): Ditto.
* gcc/doc/tm.texi: Generated.
* gcc/doc/tm.texi.in: Ditto.
* gcc/haifa-sched.c (try_group_insn): New Function.
(group_insns_for_macro_fusion): Ditto.
(sched_init): Call group_insns_for_macro_fusion.
* gcc/target.def: Add two hooks: macro_fusion_p and
macro_fusion_pair_p.
From-SVN: r204369
Kostya Serebryany [Mon, 4 Nov 2013 21:33:31 +0000 (21:33 +0000)]
libsanitizer merge from upstream r191666
This may break gcc-asan on Mac, will follow up separately.
From-SVN: r204368
Wei Mi [Mon, 4 Nov 2013 21:31:07 +0000 (21:31 +0000)]
i386-c.c (ix86_target_macros_internal): Separate PROCESSOR_COREI7_AVX out from PROCESSOR_COREI7.
2013-11-04 Wei Mi <wmi@google.com>
* gcc/config/i386/i386-c.c (ix86_target_macros_internal): Separate
PROCESSOR_COREI7_AVX out from PROCESSOR_COREI7.
* gcc/config/i386/i386.c (ix86_option_override_internal): Ditto.
(ix86_issue_rate): Ditto.
(ix86_adjust_cost): Ditto.
(ia32_multipass_dfa_lookahead): Ditto.
(ix86_sched_init_global): Ditto.
(get_builtin_code_for_version): Ditto.
* gcc/config/i386/i386.h (enum target_cpu_default): Ditto.
(enum processor_type): Ditto.
* gcc/config/i386/x86-tune.def (DEF_TUNE): Ditto.
From-SVN: r204367
Vladimir Makarov [Mon, 4 Nov 2013 21:09:12 +0000 (21:09 +0000)]
re PR rtl-optimization/58967 (Powerpc -mlra cannot compile quadrature_lib.cc in Spec2006 with -O3 -ffast-math -funroll-loops -m32)
2013-11-04 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/58967
* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
!lra_in_progress for mode sizes bigger word.
From-SVN: r204365
Bill Schmidt [Mon, 4 Nov 2013 20:44:14 +0000 (20:44 +0000)]
altivec.md (vec_widen_umult_hi_v16qi): Swap arguments to merge instruction for little endian.
2013-11-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (vec_widen_umult_hi_v16qi): Swap
arguments to merge instruction for little endian.
(vec_widen_umult_lo_v16qi): Likewise.
(vec_widen_smult_hi_v16qi): Likewise.
(vec_widen_smult_lo_v16qi): Likewise.
(vec_widen_umult_hi_v8hi): Likewise.
(vec_widen_umult_lo_v8hi): Likewise.
(vec_widen_smult_hi_v8hi): Likewise.
(vec_widen_smult_lo_v8hi): Likewise.
From-SVN: r204363
Ian Lance Taylor [Mon, 4 Nov 2013 20:29:36 +0000 (20:29 +0000)]
builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.
gcc/:
* builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.
* sync-builtins.def: Use ATTR_NOTHROWCALL_LEAF_LIST for all sync
builtins that take pointers.
* lto-opts.c (lto_write_options): Write -fnon-call-exceptions
if set.
* lto-wrapper.c (merge_and_complain): Collect
OPT_fnon_call_exceptions.
(run_gcc): Pass -fnon-call-exceptions.
gcc/testsuite/:
* g++.dg/ext/sync-4.C: New test.
From-SVN: r204360
Jakub Jelinek [Mon, 4 Nov 2013 20:23:29 +0000 (21:23 +0100)]
optabs.c (expand_vec_perm): Revert one incorrect line from 2013-10-31 change.
* optabs.c (expand_vec_perm): Revert one incorrect line from
2013-10-31 change.
From-SVN: r204359
Paul Thomas [Mon, 4 Nov 2013 20:19:40 +0000 (20:19 +0000)]
re PR fortran/58771 (ICE in transfer_expr, at fortran/trans-io.c:2164)
2013-11-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/58771
* trans-io.c (transfer_expr): If the backend_decl for a derived
type is missing, build it with gfc_typenode_for_spec.
2013-11-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/58771
* gfortran.dg/derived_external_function_1.f90 : New test
From-SVN: r204358
Jakub Jelinek [Mon, 4 Nov 2013 20:17:17 +0000 (21:17 +0100)]
re PR tree-optimization/58978 (ICE: Segmentation fault)
PR tree-optimization/58978
* tree-vrp.c (all_imm_uses_in_stmt_or_feed_cond): Don't modify
use_stmt by single_imm_use directly. Only call single_imm_use
on SSA_NAMEs.
* gcc.c-torture/compile/pr58978.c: New test.
From-SVN: r204357
Paul Thomas [Mon, 4 Nov 2013 19:42:24 +0000 (19:42 +0000)]
re PR fortran/57445 ([OOP] ICE in gfc_conv_class_to_class - for OPTIONAL polymorphic array)
2013-11-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57445
* trans-expr.c (gfc_conv_class_to_class): Remove spurious
assert.
2013-11-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57445
* gfortran.dg/optional_class_1.f90 : New test
From-SVN: r204356