Commit Graph

126336 Commits

Author SHA1 Message Date
Jakub Jelinek 7190fdc190 tree-ssa-loop-niter.c: Include tree-ssanames.h.
* tree-ssa-loop-niter.c: Include tree-ssanames.h.
	(determine_value_range): Add loop argument.  Use get_range_info to
	improve range.
	(bound_difference): Adjust caller.

	* gcc.dg/tree-ssa/loop-39.c: New test.

From-SVN: r204516
2013-11-07 15:31:00 +01:00
Jakub Jelinek d23c0a32ab 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
2013-11-07 15:28:57 +01:00
Paolo Carlini fe79fc067e 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
2013-11-07 14:26:17 +00:00
H.J. Lu cb9426fc9a 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
2013-11-07 05:59:22 -08:00
Yury Gribov 66aa538fc8 Fixed typo in ChangeLog.
From-SVN: r204509
2013-11-07 12:55:42 +00:00
Yury Gribov 77e83307fe 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
2013-11-07 12:04:45 +00:00
Kyrylo Tkachov acf67b8e7c 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
2013-11-07 11:44:04 +00:00
Richard Biener 846abd0d6d 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
2013-11-07 11:33:03 +00:00
Richard Biener b0a9217cca 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
2013-11-07 11:28:42 +00:00
H.J. Lu d9befd1252 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
2013-11-07 01:58:05 -08:00
Bin Cheng 1a1a55342c 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
2013-11-07 08:34:02 +00:00
Bin Cheng be8c1c8cc0 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
2013-11-07 08:12:34 +00:00
GCC Administrator 196bb3237d Daily bump.
From-SVN: r204496
2013-11-07 00:17:04 +00:00
DJ Delorie 0c249d4b1d 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
2013-11-06 18:33:33 -05:00
Dodji Seketeli 7f4d640cd9 Revert "preprocessor/58580 - preprocessor goes OOM with warning for zero literals"
This reverts commit fc3eff8854861fcd70d33d26095b17fe456fae31.

From-SVN: r204490
2013-11-06 23:51:36 +01:00
Joseph Myers 9954c743b9 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
2013-11-06 22:46:39 +00:00
Oleg Endo 3c40bae1c5 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
2013-11-06 22:33:01 +00:00
Tobias Burnus 5157b91ea3 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
2013-11-06 23:28:08 +01:00
H.J. Lu e276866fd7 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
2013-11-06 13:52:29 -08:00
H.J. Lu f5c36cfc4b 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
2013-11-06 13:51:41 -08:00
H.J. Lu e45de14ec7 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
2013-11-06 13:50:42 -08:00
H.J. Lu 38693e39b6 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
2013-11-06 13:49:36 -08:00
Mike Stump e2baa574d5 Fix spacing.
From-SVN: r204479
2013-11-06 21:03:19 +00:00
Oleg Endo 245eb55221 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
2013-11-06 20:37:45 +00:00
Oleg Endo 5b67c358c1 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
2013-11-06 20:35:55 +00:00
Jeff Law 2a9369590c gdbinit.in: Disable strict type checking.
* gdbinit.in: Disable strict type checking.

Co-Authored-By: Tom Tromey <tromey@redhat.com>

From-SVN: r204474
2013-11-06 13:28:03 -07:00
Oleg Endo 73afb55da8 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
2013-11-06 20:26:35 +00:00
Paolo Carlini 71b71b96f0 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
2013-11-06 20:19:10 +00:00
Ian Lance Taylor f038dae646 libgo: Update to October 24 version of master library.
From-SVN: r204466
2013-11-06 19:49:01 +00:00
Vladimir Makarov f20f261304 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
2013-11-06 19:46:39 +00:00
Uros Bizjak 992147ee6b 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
2013-11-06 20:37:12 +01:00
James Lemke b6e168f33a 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
2013-11-06 18:10:34 +00:00
Joseph Myers 6dbe09581a 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
2013-11-06 16:52:47 +00:00
Ian Lance Taylor 1d2217b6ab 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
2013-11-06 15:14:28 +00:00
Richard Biener 9f2b860bed 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
2013-11-06 15:00:16 +00:00
Balaji V. Iyer 28d31e4074 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
2013-11-06 06:55:46 -08:00
Jason Merrill 3e89949e1b typo
From-SVN: r204456
2013-11-06 09:37:46 -05:00
Andrew MacLeod 7783daa76c 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
2013-11-06 13:11:14 +00:00
Richard Biener 3f5c390ddd 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
2013-11-06 13:08:06 +00:00
Dodji Seketeli 9789a91276 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
2013-11-06 12:33:52 +01:00
Eric Botcazou 6dce150ccf Fix formatting
From-SVN: r204452
2013-11-06 11:22:59 +00:00
Eric Botcazou 0dca9cd86c 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
2013-11-06 10:55:13 +00:00
Jonathan Wakely f054ff5b7c 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
2013-11-06 09:47:51 +00:00
James Greenhalgh 1ee5839865 [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
2013-11-06 09:23:30 +00:00
Nick Clifton 50cfbf9915 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
2013-11-06 09:03:35 +00:00
Nick Clifton 2599016338 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
2013-11-06 08:52:57 +00:00
Christian Bruel 3a1a7897b7 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
2013-11-06 09:49:15 +01:00
Jakub Jelinek fda1ba0aea 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
2013-11-06 08:48:50 +01:00
Francois-Xavier Coudert 10180dd302 * gfortran.texi: Fix typo.
From-SVN: r204443
2013-11-06 07:04:12 +00:00
Ganesh Gopalasubramanian 4a1db8e164 scheduler improvements for BD architectures
From-SVN: r204442
2013-11-06 05:38:09 +00:00