[Patch 1/7] Hookize *_BY_PIECES_P

gcc/

	* target.def (use_by_pieces_infrastructure_p): New.
	* doc/tm.texi.in (MOVE_BY_PIECES_P): Describe that this macro
	is deprecated.
	(STORE_BY_PIECES_P): Likewise.
	(CLEAR_BY_PIECES_P): Likewise.
	(SET_BY_PIECES_P): Likewise.
	(TARGET_MOVE_BY_PIECES_PROFITABLE_P): Add hook.
	* doc/tm.texi: Regenerate.
	* expr.c (MOVE_BY_PIECES_P): Rewrite in terms of
	TARGET_USE_BY_PIECES_INFRASTRUCTURE_P.
	(STORE_BY_PIECES_P): Likewise.
	(CLEAR_BY_PIECES_P): Likewise.
	(SET_BY_PIECES_P): Likewise.
	(STORE_MAX_PIECES): Move to...
	* defaults.h (STORE_MAX_PIECES): ...here.
	* targhooks.c (get_move_ratio): New.
	(default_use_by_pieces_infrastructure_p): Likewise.
	* targhooks.h (default_use_by_pieces_infrastructure_p): New.
	* target.h (by_pieces_operation): New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216996 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

	* config/s390/s390.c (s390_use_by_pieces_infrastructure_p): New.
	(TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Likewise.
	* config/s390/s390.h (MOVE_BY_PIECES_P): Remove.
	(CLEAR_BY_PIECES): Likewise.
	(SET_BY_PIECES): Likewise.
	(STORE_BY_PIECES): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216998 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

	* config/arc/arc.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
	(arc_use_by_pieces_infrastructure_p): Likewise.
	* confir/arc/arc.h (MOVE_BY_PIECES_P): Delete.
	(CAN_MOVE_BY_PIECES): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216999 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

	* config/sh/sh.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
	(sh_use_by_pieces_infrastructure_p): Likewise.
	* config/sh/sh.h (MOVE_BY_PIECES_P): Remove.
	(STORE_BY_PIECES_P): Likewise.
	(SET_BY_PIECES_P): Likewise.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217001 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

	* config/mips/mips.h (MOVE_BY_PIECES_P): Remove.
	(STORE_BY_PIECES_P): Likewise.
	* config/mips/mips.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
	(mips_move_by_pieces_p): Rename to...
	(mips_use_by_pieces_infrastructure_p): ...this, use new hook
	parameters, use the default hook implementation as a
	fall-back.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217002 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

	* config/aarch64/aarch64.c
	(aarch64_use_by_pieces_infrastructre_p): New.
	(TARGET_USE_BY_PIECES_INFRASTRUCTURE): Likewise.
	* config/aarch64/aarch64.h (STORE_BY_PIECES_P): Delete.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217003 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch 7/7] Remove *_BY_PIECES_P

gcc/

	* doc/tm.texi.in (MOVE_BY_PIECES_P): Remove.
	(CLEAR_BY_PIECES_P): Likewise.
	(SET_BY_PIECES_P): Likewise.
	(STORE_BY_PIECES_P): Likewise.
	* doc/tm.texi: Regenerate.
	* system.h: Poison MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P,
	SET_BY_PIECES_P, STORE_BY_PIECES_P.
	* expr.c (MOVE_BY_PIECES_P): Remove.
	(CLEAR_BY_PIECES_P): Likewise.
	(SET_BY_PIECES_P): Likewise.
	(STORE_BY_PIECES_P): Likewise.
	(can_move_by_pieces): Rewrite in terms of
	targetm.use_by_pieces_infrastructure_p.
	(emit_block_move_hints): Likewise.
	(can_store_by_pieces): Likewise.
	(store_by_pieces): Likewise.
	(clear_storage_hints): Likewise.
	(emit_push_insn): Likewise.
	(expand_constructor): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217004 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-01  Andrew MacLeod  <amacleod@redhat,com>

	* optabs.h: Flatten insn-codes.h to source files.  Move some prototypes
	and structs to genopinit.c.  Adjust protyoptypes to match optabs.c.
	* genopinit.c (main): Emit prototypes and structs into insn-opinit.h.
	* optabs.c: (gen_move_insn): Move to expr.c.
	* expr.h: Move protypes and enums to optabs.h.
	* expr.c: (gen_move_insn): Relocate from optabs.c.
	* genemit.c (main): Include insn-codes.h.
	* gengtype.c (open_base_files): Include insn-codes.h.
	* asan.c: Include insn-codes.h.
	* bb-reorder.c: Ditto.
	* builtins.c: Ditto.
	* calls.c: Ditto.
	* cfgexpand.c: Ditto.
	* cilk-common.c: Ditto.
	* combine.c: Ditto.
	* dojump.c: Ditto.
	* dse.c: Ditto.
	* except.c: Ditto.
	* explow.c: Ditto.
	* expmed.c: Ditto.
	* function.c: Ditto.
	* ifcvt.c: Ditto.
	* internal-fn.c: Ditto.
	* loop-unroll.c: Ditto.
	* lra.c: Ditto.
	* modulo-sched.c: Ditto.
	* omp-low.c: Ditto.
	* postreload.c: Ditto.
	* ree.c: Ditto.
	* reload.c: Ditto.
	* reload1.c: Ditto.
	* shrink-wrap.c: Ditto.
	* simplify-rtx.c: Ditto.
	* stmt.c: Ditto.
	* target-globals.c: Ditto.
	* targhooks.c: Ditto.
	* toplev.c: Ditto.
	* tree-if-conv.c: Ditto.
	* tree-ssa-forwprop.c: Ditto.
	* tree-ssa-loop-prefetch.c: Ditto.
	* tree-ssa-math-opts.c: Ditto.
	* tree-ssa-phiopt.c: Ditto.
	* tree-ssa-reassoc.c: Ditto.
	* tree-switch-conversion.c: Ditto.
	* tree-vect-data-refs.c: Ditto.
	* tree-vect-generic.c: Ditto.
	* tree-vect-loop.c: Ditto.
	* tree-vect-patterns.c: Ditto.
	* tree-vect-slp.c: Ditto.
	* tree-vect-stmts.c: Ditto.
	* tree-vrp.c: Ditto.
	* value-prof.c: Ditto.
	* config/aarch64/aarch64-builtins.c: Ditto.
	* config/alpha/alpha.c: Ditto.
	* config/arm/arm.c: Ditto.
	* config/cris/cris.c: Ditto.
	* config/epiphany/epiphany.c: Ditto.
	* config/frv/frv.c: Ditto.
	* config/h8300/h8300.c: Ditto.
	* config/ia64/ia64.c: Ditto.
	* config/iq2000/iq2000.c: Ditto.
	* config/m32c/m32c.c: Ditto.
	* config/mep/mep.c: Ditto.
	* config/microblaze/microblaze.c: Ditto.
	* config/mips/mips.c: Ditto.
	* config/mn10300/mn10300.c: Ditto.
	* config/moxie/moxie.c: Ditto.
	* config/msp430/msp430.c: Ditto.
	* config/nios2/nios2.c: Ditto.
	* config/pa/pa.c: Ditto.
	* config/rl78/rl78.c: Ditto.
	* config/rs6000/rs6000.c: Ditto.
	* config/rx/rx.c: Ditto.
	* config/s390/s390.c: Ditto.
	* config/sh/sh.c: Ditto.
	* config/sh/sh_treg_combine.cc: Ditto.
	* config/spu/spu.c: Ditto.
	* config/stormy16/stormy16.c: Ditto.
	* config/tilegx/mul-tables.c: Ditto.
	* config/tilegx/tilegx.c: Ditto.
	* config/tilepro/mul-tables.c: Ditto.
	* config/tilepro/tilepro.c: Ditto.
	* config/vax/vax.c: Ditto.


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

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

2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
	* g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
	Commentary and rearrangement of tests.
	* g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
	Commentary and rearrangement of tests.
	* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
	* g++.dg/cpp1y/feat-cxx98.C: Commentary.

c-family/

2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* c-cppbuiltin.c: Define __cpp_aggregate_nsdmi.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217012 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57694
	* g++.dg/cpp0x/constexpr-ctor15.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217013 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modes

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

	* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update
	to support vector modes.
	(CTZ_DEFINED_VALUE_AT_ZERO): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217014 138bc75d-0d04-0410-961f-82ee72b054a4
	* c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target.
	* g++.dg/abi/no-weak1.C: Ditto.
	* g++.dg/opt/pr44919.C: Ditto.
	* g++.dg/opt/pr46640.C: Ditto.
	* g++.dg/opt/pr46649.C: Ditto.
	* g++.dg/opt/pr47036.C: Ditto.
	* g++.dg/opt/pr48273.C: Ditto.
	* g++.dg/opt/pr48302.C: Ditto.
	* g++.dg/opt/pr45788.C: Ditto.
	* g++.dg/opt/pr57662.C: Ditto.
	* gcc.dg/20031102-1.c: Ditto.
	* gcc.dg/builtin-bswap-7.c: Ditto.
	* gcc.dg/builtin-bswap-7a.c: Ditto.
	* gcc.dg/builtin-bswap-9.c: Ditto.
	* gcc.dg/combine_ashiftrt_1.c: Ditto.
	* gcc.dg/guality/bswaptest.c: Ditto.
	* gcc.dg/guality/clztest.c: Ditto.
	* gcc.dg/guality/ctztest.c: Ditto.
	* gcc.dg/guality/pr45003-1.c: Ditto.
	* gcc.dg/guality/pr45003-2.c: Ditto.
	* gcc.dg/guality/pr45003-3.c: Ditto.
	* gcc.dg/guality/pr58791-4.c: Ditto.
	* gcc.dg/guality/rotatetest.c:Ditto.
	* gcc.dg/ifcvt-fabs-1.c: Ditto.
	* gcc.dg/ira-loop-pressure.c: Ditto.
	* gcc.dg/ira-shrinkwrap-prep-1.c: Ditto.
	* gcc.dg/ira-shrinkwrap-prep-2.c: Ditto.
	* gcc.dg/lto/pr47259_0.c: Ditto.
	* gcc.dg/memcpy-5.c: Ditto.
	* gcc.dg/pr10474.c: Ditto.
	* gcc.dg/pr37438.c: Ditto.
	* gcc.dg/pr39453.c: Ditto.
	* gcc.dg/pr40501.c: Ditto.
	* gcc.dg/pr42245-2.c: Ditto.
	* gcc.dg/pr42245.c: Ditto.
	* gcc.dg/pr42246.c: Ditto.
	* gcc.dg/pr42249.c: Ditto.
	* gcc.dg/pr42388.c: Ditto.
	* gcc.dg/pr42389.c: Ditto.
	* gcc.dg/pr45352-1.c: Ditto.
	* gcc.dg/pr45352-2.c: Ditto.
	* gcc.dg/pr45352-3.c: Ditto.
	* gcc.dg/pr45352.c: Ditto.
	* gcc.dg/pr45472.c: Ditto.
	* gcc.dg/pr45652.c: Ditto.
	* gcc.dg/pr46212.c: Ditto.
	* gcc.dg/pr46521.c: Ditto.
	* gcc.dg/pr46522.c: Ditto.
	* gcc.dg/pr46875.c: Ditto.
	* gcc.dg/pr48374.c: Ditto.
	* gcc.dg/pr50251.c: Ditto.
	* gcc.dg/pr54472.c: Ditto.
	* gcc.dg/pr55702.c: Ditto.
	* gcc.dg/pr56990.c: Ditto.
	* gcc.dg/pr57104.c: Ditto.
	* gcc.dg/pr57662.c: Ditto.
	* gcc.dg/pr60866.c: Ditto.
	* gcc.dg/shrink-wrap-loop.c: Ditto.
	* gcc.dg/tm/memopt-15.c: Ditto.
	* gcc.dg/torture/pr52720.c: Ditto.
	* gcc.dg/torture/pr56778.c: Ditto.
	* gcc.dg/tree-prof/pr45354.c: Ditto.
	* gcc.dg/tree-prof/pr50907.c: Ditto.
	* gcc.dg/tree-ssa/loop-16.c: Ditto.
	* gcc.dg/tree-ssa/loop-18.c: Ditto.
	* gcc.dg/tree-ssa/pr44423.c: Ditto.
	* gcc.dg/misc-tests/godump-1.c: Ditto.
	* gfortran.dg/PR24188.f: Ditto.
	* gfortran.dg/errnocheck_1.f90: Ditto.
	* gfortran.dg/g77/20010216-1.f: Ditto.
	* gfortran.dg/pr42246-2.f: Ditto.
	* gfortran.dg/pr42294.f: Ditto.
	* gfortran.dg/pr44691.f: Ditto.
	* gfortran.dg/vect/pr45714-a.f: Ditto.
	* gcc.c-torture/execute/ieee/ieee.exp: Ditto.
	* gcc.misc-tests/linkage.exp: Ditto.
	* lib/target-supports.exp: Reformat x86 tagets.
	(check_effective_target_whole_vector_shift): Add i?86-*-* target.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217015 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/arc/arc.c: Include rtl-iter.h.
	(arc_rewrite_small_data_1): Delete.
	(arc_rewrite_small_data): Use FOR_EACH_SUBRTX_PTR.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217016 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/arc/arc.c (arc_rewrite_small_data_p): Constify argument.
	(small_data_pattern_1): Delete.
	(small_data_pattern): Use FOR_EACH_SUBRTX.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217017 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/arc/arc.c (arc600_corereg_hazard_1): Delete.
	(arc600_corereg_hazard): Use FOR_EACH_SUBRTX.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217018 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/arc/arc.c (write_ext_corereg_1): Delete.
	(arc_write_ext_corereg): Use FOR_EACH_SUBRTX.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217019 138bc75d-0d04-0410-961f-82ee72b054a4
	* g++.dg/cpp0x/gen-attrs-42.C: Add x86_64-*-* target.
	* g++.dg/ext/attrib42.C: Ditto.
	* g++.dg/torture/pr51344.C: Ditto.
	* g++.dg/tree-ssa/pr29902.C: Ditto.
	* gcc.c-torture/execute/20010129-1.c: Ditto.
	* gcc.dg/combine_ashiftrt_2.c: Ditto.
	* gcc.dg/march-generic.c: Ditto.
	* gcc.dg/torture/pr17526.c: Ditto.
	* gcc.dg/union-4.c: Ditto.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217023 138bc75d-0d04-0410-961f-82ee72b054a4
Add support for ref-qualified functions to std::mem_fn

	PR libstdc++/57898
	* include/std/functional (_Mem_fn_traits_base): New class template.
	(_Mem_fn_traits): New class template with specializations for every
	combination of cv-qualified and ref-qualified member function.
	(_Mem_fn_base): New class template for all pointer to member function
	types and partial specialization for pointer to member object types.
	(_Mem_fn): Inherit from _Mem_fn_base.
	* testsuite/20_util/function_objects/mem_fn/refqual.cc: New.

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