2014-11-03  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/rx/rx.c (rx_handle_func_attribute): Mark unused argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217070 138bc75d-0d04-0410-961f-82ee72b054a4
	* ubsan.c (instrument_object_size): Optimize [x & CST] array accesses.
testsuite/
	* c-c++-common/ubsan/object-size-10.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217071 138bc75d-0d04-0410-961f-82ee72b054a4
Fix typo in definition of __ARM_FEATURE_IDIV

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217072 138bc75d-0d04-0410-961f-82ee72b054a4
Fix typo in definition of __ARM_FEATURE_IDIV

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217073 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Fix predicate and constraint mismatch in logical atomic operations

2014-11-04  Michael Collison <michael.collison@linaro.org>

	* config/aarch64/iterators.md (lconst_atomic): New mode attribute
	to support constraints for CONST_INT in atomic operations.
	* config/aarch64/atomics.md
	(atomic_<atomic_optab><mode>): Use lconst_atomic constraint.
	(atomic_nand<mode>): Likewise.
	(atomic_fetch_<atomic_optab><mode>): Likewise.
	(atomic_fetch_nand<mode>): Likewise.
	(atomic_<atomic_optab>_fetch<mode>): Likewise.
	(atomic_nand_fetch<mode>): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217076 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM] Migrate to new reduc_plus_scal_optab

	config/arm/neon.md (reduc_plus_*): Rename to...
	(reduc_plus_scal_*): ...this; reduce to temp and extract scalar result.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217079 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM] Migrate to new reduc_[us](min|max)_scal_optab

	config/arm/neon.md (reduc_smin_<mode> *2): Rename to...
	(reduc_smin_scal_<mode> *2): ...this; extract scalar result.
	(reduc_smax_<mode> *2): Rename to...
	(reduc_smax_scal_<mode> *2): ...this; extract scalar result.
	(reduc_umin_<mode> *2): Rename to...
	(reduc_umin_scal_<mode> *2): ...this; extract scalar result.
	(reduc_umax_<mode> *2): Rename to...
	(reduc_umax_scal_<mode> *2): ...this; extract scalar result.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217080 138bc75d-0d04-0410-961f-82ee72b054a4
	gcc/testsuite/
	* gcc.target/powerpc/pr60102.c: Move dg-skip-if after dg-options.
	* gcc.target/powerpc/swaps-p8-12.c: Skip test if there would be
	conflicting -mcpu options.
	* gcc.target/powerpc/ppc-target-2.c: Likewise.
	* gcc.target/powerpc/cell_builtin-7.c: Likewise.
	* gcc.target/powerpc/dfp-builtin-1.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-1.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-1.c: Likewise.
	* gcc.target/powerpc/pr48053-3.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-6.c: Likewise.
	* gcc.target/powerpc/440-nmaclhw-1.c: Likewise.
	* gcc.target/powerpc/pr57744.c: Likewise.
	* gcc.target/powerpc/pr47862.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-8.c: Likewise.
	* gcc.target/powerpc/recip-1.c: Likewise.
	* gcc.target/powerpc/darwin-longlong.c: Likewise.
	* gcc.target/powerpc/bool2-p8.c: Likewise.
	* gcc.target/powerpc/mmfpgpr.c: Likewise.
	* gcc.target/powerpc/pr60203.c: Likewise.
	* gcc.target/powerpc/direct-move-vint1.c: Likewise.
	* gcc.target/powerpc/bool2-av.c: Likewise.
	* gcc.target/powerpc/pr43154.c: Likewise.
	* gcc.target/powerpc/ppc-fma-2.c: Likewise.
	* gcc.target/powerpc/swaps-p8-5.c: Likewise.
	* gcc.target/powerpc/pr59054.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-11.c: Likewise.
	* gcc.target/powerpc/440-mullhwu-1.c: Likewise.
	* gcc.target/powerpc/swaps-p8-13.c: Likewise.
	* gcc.target/powerpc/ppc-target-3.c: Likewise.
	* gcc.target/powerpc/cell_builtin-8.c: Likewise.
	* gcc.target/powerpc/dfp-builtin-2.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-2.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-2.c: Likewise.
	* gcc.target/powerpc/p8vector-vbpermq.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-1.c: Likewise.
	* gcc.target/powerpc/bswap64-3.c: Likewise.
	* gcc.target/powerpc/bcd-1.c: Likewise.
	* gcc.target/powerpc/440-mulchwu-1.c: Likewise.
	* gcc.target/powerpc/extend-divide-1.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-7.c: Likewise.
	* gcc.target/powerpc/pr48192.c: Likewise.
	* gcc.target/powerpc/pr52775.c: Likewise.
	* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
	* gcc.target/powerpc/pr58673-1.c: Likewise.
	* gcc.target/powerpc/pr53487.c: Likewise.
	* gcc.target/powerpc/440-nmaclhw-2.c: Likewise.
	* gcc.target/powerpc/recip-2.c: Likewise.
	* gcc.target/powerpc/p8vector-fp.c: Likewise.
	* gcc.target/powerpc/direct-move-vint2.c: Likewise.
	* gcc.target/powerpc/ppc-fma-3.c: Likewise.
	* gcc.target/powerpc/pr57150.c: Likewise.
	* gcc.target/powerpc/pr47251.c: Likewise.
	* gcc.target/powerpc/swaps-p8-6.c: Likewise.
	* gcc.target/powerpc/440-mullhwu-2.c: Likewise.
	* gcc.target/powerpc/bool3-p7.c: Likewise.
	* gcc.target/powerpc/cell_builtin-1.c: Likewise.
	* gcc.target/powerpc/swaps-p8-14.c: Likewise.
	* gcc.target/powerpc/ppc-target-4.c: Likewise.
	* gcc.target/powerpc/440-mulhhw-1.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-1.c: Likewise.
	* gcc.target/powerpc/440-machhw-1.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-3.c: Likewise.
	* gcc.target/powerpc/vsx-mass-1.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-3.c: Likewise.
	* gcc.target/powerpc/loop_align.c: Likewise.
	* gcc.target/powerpc/lhs-1.c: Likewise.
	* gcc.target/powerpc/sd-vsx.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-2.c: Likewise.
	* gcc.target/powerpc/bcd-2.c: Likewise.
	* gcc.target/powerpc/20040121-1.c: Likewise.
	* gcc.target/powerpc/pr52457.c: Likewise.
	* gcc.target/powerpc/440-mulchwu-2.c: Likewise.
	* gcc.target/powerpc/extend-divide-2.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-8.c: Likewise.
	* gcc.target/powerpc/p8vector-int128-2.c: Likewise.
	* gcc.target/powerpc/pr58673-2.c: Likewise.
	* gcc.target/powerpc/atomic-p7.c: Likewise.
	* gcc.target/powerpc/recip-3.c: Likewise.
	* gcc.target/powerpc/440-maclhwu-1.c: Likewise.
	* gcc.target/powerpc/optimize-bswapsi-2.c: Likewise.
	* gcc.target/powerpc/popcount-1.c: Likewise.
	* gcc.target/powerpc/altivec-32.c: Likewise.
	* gcc.target/powerpc/timode_off.c: Likewise.
	* gcc.target/powerpc/p8vector-ldst.c: Likewise.
	* gcc.target/powerpc/pack01.c: Likewise.
	* gcc.target/powerpc/pr55033.c: Likewise.
	* gcc.target/powerpc/ppc-fma-4.c: Likewise.
	* gcc.target/powerpc/swaps-p8-7.c: Likewise.
	* gcc.target/powerpc/ppu-intrinsics.c: Likewise.
	* gcc.target/powerpc/440-macchwu-1.c: Likewise.
	* gcc.target/powerpc/440-mulhhwu-1.c: Likewise.
	* gcc.target/powerpc/440-mulchw-1.c: Likewise.
	* gcc.target/powerpc/bool3-p8.c: Likewise.
	* gcc.target/powerpc/cell_builtin-2.c: Likewise.
	* gcc.target/powerpc/swaps-p8-15.c: Likewise.
	* gcc.target/powerpc/440-macchw-1.c: Likewise.
	* gcc.target/powerpc/440-mulhhw-2.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-2.c: Likewise.
	* gcc.target/powerpc/440-machhw-2.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-4.c: Likewise.
	* gcc.target/powerpc/pr46728-16.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-1.c: Likewise.
	* gcc.target/powerpc/bool3-av.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-4.c: Likewise.
	* gcc.target/powerpc/ppc-pow.c: Likewise.
	* gcc.target/powerpc/lhs-2.c: Likewise.
	* gcc.target/powerpc/pr39902-2.c: Likewise.
	* gcc.target/powerpc/20041111-1.c: Likewise.
	* gcc.target/powerpc/builtins-1.c: Likewise.
	* gcc.target/powerpc/bcd-3.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-3.c: Likewise.
	* gcc.target/powerpc/pr57949-1.c: Likewise.
	* gcc.target/powerpc/atomic-p8.c: Likewise.
	* gcc.target/powerpc/sd-pwr6.c: Likewise.
	* gcc.target/powerpc/recip-4.c: Likewise.
	* gcc.target/powerpc/440-maclhwu-2.c: Likewise.
	* gcc.target/powerpc/warn-2.c: Likewise.
	* gcc.target/powerpc/parity-1.c: Likewise.
	* gcc.target/powerpc/popcount-2.c: Likewise.
	* gcc.target/powerpc/crypto-builtin-1.c: Likewise.
	* gcc.target/powerpc/ppc-fma-5.c: Likewise.
	* gcc.target/powerpc/swaps-p8-8.c: Likewise.
	* gcc.target/powerpc/pr42747.c: Likewise.
	* gcc.target/powerpc/440-macchwu-2.c: Likewise.
	* gcc.target/powerpc/440-mulhhwu-2.c: Likewise.
	* gcc.target/powerpc/dfp-dd-2.c: Likewise.
	* gcc.target/powerpc/direct-move-float1.c: Likewise.
	* gcc.target/powerpc/440-mulchw-2.c: Likewise.
	* gcc.target/powerpc/cell_builtin-3.c: Likewise.
	* gcc.target/powerpc/swaps-p8-16.c: Likewise.
	* gcc.target/powerpc/440-macchw-2.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
	* gcc.target/powerpc/dfp-td-2.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-5.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-2.c: Likewise.
	* gcc.target/powerpc/p8vector-vectorize-5.c: Likewise.
	* gcc.target/powerpc/lhs-3.c: Likewise.
	* gcc.target/powerpc/440-nmachhw-1.c: Likewise.
	* gcc.target/powerpc/builtins-2.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
	* gcc.target/powerpc/pr52199.c: Likewise.
	* gcc.target/powerpc/440-machhwu-1.c: Likewise.
	* gcc.target/powerpc/pr57949-2.c: Likewise.
	* gcc.target/powerpc/recip-5.c: Likewise.
	* gcc.target/powerpc/popcount-3.c: Likewise.
	* gcc.target/powerpc/vsx-vector-1.c: Likewise.
	* gcc.target/powerpc/swaps-p8-1.c: Likewise.
	* gcc.target/powerpc/optimize-bswapdi-2.c: Likewise.
	* gcc.target/powerpc/ppc-fma-6.c: Likewise.
	* gcc.target/powerpc/vsx-extract-1.c: Likewise.
	* gcc.target/powerpc/pr48226.c: Likewise.
	* gcc.target/powerpc/swaps-p8-9.c: Likewise.
	* gcc.target/powerpc/pr47755-2.c: Likewise.
	* gcc.target/powerpc/direct-move-float2.c: Likewise.
	* gcc.target/powerpc/cell_builtin-4.c: Likewise.
	* gcc.target/powerpc/direct-move-double1.c: Likewise.
	* gcc.target/powerpc/swaps-p8-17.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-4.c: Likewise.
	* gcc.target/powerpc/dfp-td-3.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-6.c: Likewise.
	* gcc.target/powerpc/440-nmacchw-1.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-3.c: Likewise.
	* gcc.target/powerpc/440-nmachhw-2.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-5.c: Likewise.
	* gcc.target/powerpc/bool2-p5.c: Likewise.
	* gcc.target/powerpc/440-machhwu-2.c: Likewise.
	* gcc.target/powerpc/fusion.c: Likewise.
	* gcc.target/powerpc/recip-6.c: Likewise.
	* gcc.target/powerpc/altivec-cell-6.c: Likewise.
	* gcc.target/powerpc/vsx-vector-2.c: Likewise.
	* gcc.target/powerpc/swaps-p8-2.c: Likewise.
	* gcc.target/powerpc/optimize-bswapdi-3.c: Likewise.
	* gcc.target/powerpc/ppc-fma-7.c: Likewise.
	* gcc.target/powerpc/vsx-extract-2.c: Likewise.
	* gcc.target/powerpc/direct-move-long1.c: Likewise.
	* gcc.target/powerpc/dfp-dd.c: Likewise.
	* gcc.target/powerpc/swaps-p8-10.c: Likewise.
	* gcc.target/powerpc/cell_builtin-5.c: Likewise.
	* gcc.target/powerpc/direct-move-double2.c: Likewise.
	* gcc.target/powerpc/440-mullhw-1.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
	* gcc.target/powerpc/440-maclhw-1.c: Likewise.
	* gcc.target/powerpc/dfp-td.c: Likewise.
	* gcc.target/powerpc/p8vector-builtin-7.c: Likewise.
	* gcc.target/powerpc/pr48053-1.c: Likewise.
	* gcc.target/powerpc/440-nmacchw-2.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-4.c: Likewise.
	* gcc.target/powerpc/pr60676.c: Likewise.
	* gcc.target/powerpc/pr48258-1.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
	* gcc.target/powerpc/pr48857.c: Likewise.
	* gcc.target/powerpc/quad-atomic.c: Likewise.
	* gcc.target/powerpc/altivec-cell-7.c: Likewise.
	* gcc.target/powerpc/atomic_load_store-p8.c: Likewise.
	* gcc.target/powerpc/vsx-vector-3.c: Likewise.
	* gcc.target/powerpc/swaps-p8-3.c: Likewise.
	* gcc.target/powerpc/pr56605.c: Likewise.
	* gcc.target/powerpc/vsx-extract-3.c: Likewise.
	* gcc.target/powerpc/pr53199.c: Likewise.
	* gcc.target/powerpc/direct-move-long2.c: Likewise.
	* gcc.target/powerpc/swaps-p8-11.c: Likewise.
	* gcc.target/powerpc/vsx-float0.c: Likewise.
	* gcc.target/powerpc/ppc-target-1.c: Likewise.
	* gcc.target/powerpc/altivec-20.c: Likewise.
	* gcc.target/powerpc/cell_builtin-6.c: Likewise.
	* gcc.target/powerpc/440-mullhw-2.c: Likewise.
	* gcc.target/powerpc/darwin-ehreturn-1.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-6.c: Likewise.
	* gcc.target/powerpc/440-maclhw-2.c: Likewise.
	* gcc.target/powerpc/440-dlmzb-strlen-1.c: Likewise.
	* gcc.target/powerpc/pr60137.c: Likewise.
	* gcc.target/powerpc/bswap64-1.c: Likewise.
	* gcc.target/powerpc/pr48053-2.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-5.c: Likewise.
	* gcc.target/powerpc/pr48258-2.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
	* gcc.target/powerpc/vsx-sfminmax.c: Likewise.
	* gcc.target/powerpc/bool2-p7.c: Likewise.
	* gcc.target/powerpc/ppc-round.c: Likewise.
	* gcc.target/powerpc/altivec-cell-8.c: Likewise.
	* gcc.target/powerpc/vsx-vector-4.c: Likewise.
	* gcc.target/powerpc/ppc-fma-1.c: Likewise.
	* gcc.target/powerpc/swaps-p8-4.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
	* gcc.target/powerpc/pr47755.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217081 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-04  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/sh/sh.c (emit_fpu_switch): Drop unused automatic variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217082 138bc75d-0d04-0410-961f-82ee72b054a4
	* lib/g++-dg.exp (g++-dg-runtest): Change -std=c++1y to -std=c++14.
	* lib/target-supports.exp (check_effective_target_c++14_only): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217085 138bc75d-0d04-0410-961f-82ee72b054a4
Fix type mismatches in intrinsic functions.

	* f95-lang.c (gfc_init_builtin_functions): Use type index 2 for
	scalbn, scalbnl and scalbnf.
	* mathbuiltins.def (JN, YN): Use type index 5.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217087 138bc75d-0d04-0410-961f-82ee72b054a4
Make a temporary sequence for a jump emitted only to examine its length.

	* bb-reorder.c (get_uncond_jump_length): Avoid using delete_insn,
	emit into a sequence instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217088 138bc75d-0d04-0410-961f-82ee72b054a4
Fix up mode confusion in combine_simplify_rtx.

The surrounding code was already fixed back when BImode was added.

	* combine.c (combine_simplify_rtx): In STORE_FLAG_VALUE == -1 case,
	also verify that mode is equal to the mode of op0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217089 138bc75d-0d04-0410-961f-82ee72b054a4
	* testsuite/util/testsuite_allocator.h (operator==): Fix recursion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217090 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] fix unsafe access to deallocated stack

2014-11-04  Jiong Wang  <jiong.wang@arm.com>
2014-11-04  Wilco Dijkstra  <wilco.dijkstra@arm.com>

  gcc/
    PR target/63293
    * config/aarch64/aarch64.c (aarch64_expand_epiloue): Add barriers before
    stack adjustment.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217091 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/

2014-11-04  Martin Jambor  <mjambor@suse.cz>

	* g++/dg/ipa/devirt-40.C: Changed dump to not matching OBJ_TYPE_REF in
	function body.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217092 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: Logical operators should yield untyped bool for untyped operands.

Fixes issue 6671 for gccgo.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217094 138bc75d-0d04-0410-961f-82ee72b054a4
	* g++.dg/ipa/devirt-44.C (dg-options): Remove -fdump-tree-optimized.
	* g++.dg/ipa/devirt-45.C (dg-options): Ditto.
	* g++.dg/tree-prof/morefunc.C (dg-final-use): Cleanup profile ipa dump.
	* g++.dg/tree-prof/reorder.C (dg-final-use): Ditto.
	* g++.dg/tree-prof/pr35545.C (dg-fina-use): Cleanup profile_estimate
	ipa dump.
	* gcc.dg/fold-reassoc-3.c (dg-final): Fix scan string.
	Cleanup original tree dump.
	* gcc.dg/tree-prof/20050826-2.c (dg-final-use): Cleanup dom1 tree dump.
	* gcc.dg/tree-prof/cmpsf-1.c (dg-final-use): Ditto.
	* gcc.dg/tree-ssa/pr61144.c (dg-final): Cleanup optimized tree dump.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217097 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.misc-tests/godump-1.c (dg-skip-if): Add alpha*-*-*.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217098 138bc75d-0d04-0410-961f-82ee72b054a4
	* Makefile.in (OBJS): Add sanopt.o.
	(GTFILES): Add sanopt.c.
	* asan.h (asan_expand_check_ifn): Declare.
	* asan.c (asan_expand_check_ifn): No longer static.
	(class pass_sanopt, pass_sanopt::execute, make_pass_sanopt): Move...
	* sanopt.c: ...here.  New file.
testsuite/
	* c-c++-common/ubsan/align-2.c: Remove dg-output.
	* c-c++-common/ubsan/align-4.c: Likewise.
	* g++.dg/ubsan/null-1.C: Likewise.
	* g++.dg/ubsan/null-2.C: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217099 138bc75d-0d04-0410-961f-82ee72b054a4