-fuse-caller-save - Enable for i386

2014-05-30  Tom de Vries  <tom@codesourcery.com>

	* config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
	Redefine as true.

	* gcc.target/i386/fuse-caller-save.c: New test.
	* gcc.dg/ira-shrinkwrap-prep-1.c: Run with -fno-use-caller-save.
	* gcc.dg/ira-shrinkwrap-prep-2.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211078 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/:
	* config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
	target("sse").
testsuite/:
	* gcc.target/i386/pause-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211079 138bc75d-0d04-0410-961f-82ee72b054a4
	* sanitizer_common/sanitizer_stacktrace.cc: Cherry pick upstream
	r209879.
	* sanitizer_common/sanitizer_common.h: Likewise.
	* asan/asan_mapping.h: Likewise.
	* asan/asan_linux.cc: Likewise.
	* tsan/tsan_mman.cc: Cherry pick upstream r209744.
	* sanitizer_common/sanitizer_allocator.h: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211080 138bc75d-0d04-0410-961f-82ee72b054a4
runtime: Use _mm_pause rather than __builtin_ia32_pause.

Based on a patch from Peter Collingbourne.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211081 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/60992
	* pt.c (tsubst_init): Split out from...
	(tsubst_expr) [DECL_EXPR]: Here.
	(tsubst_copy) [VAR_DECL]: Use it.
	* semantics.c (finish_id_expression): Return the decl for static/const.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211084 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
	* config/avr/avr-tables.opt: Regenerate.
	* config/avr/t-multilib: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211085 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
	Benjamin's old email address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211086 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/61011
	* configure.ac (--disable-libstdcxx): Set noconfigdirs correctly.
	Disable libcilkrts, libitm, libsanitizer when not building libstdc++.
	* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211087 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/60104
	* config/i386/i386.c (x86_output_mi_thunk): Add memory case
	for sibling-tail-calls.
	* config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
	to its use.
	* config/i386/predicates.md (sibcall_memory_operand): New predicate.
	(sibcall_insn_operand): Add check for sibcall_memory_operand.

	PR target/60104
	* gcc.target/i386/sibcall-1.c: New test.
	* gcc.target/i386/sibcall-2.c: New test.
	* gcc.target/i386/sibcall-3.c: New test.
	* gcc.target/i386/sibcall-4.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211089 138bc75d-0d04-0410-961f-82ee72b054a4
	* g++.dg/asan/asan_test.C: Add -std=c++11 and
	-DSANITIZER_USE_DEJAGNU_GTEST=1 to dg-options, remove
	-DASAN_USE_DEJAGNU_GTEST=1.
	* g++.dg/asan/asan_mem_test.cc: Updated from upstream
	r209283.
	* g++.dg/asan/asan_oob_test.cc: Likewise.
	* g++.dg/asan/sanitizer_test_utils.h: Likewise.
	* g++.dg/asan/asan_str_test.cc: Likewise.
	* g++.dg/asan/asan_test_utils.h: Likewise.
	* g++.dg/asan/sanitizer_test_config.h: Likewise.
	* g++.dg/asan/asan_test.cc: Likewise.  Allow size 12
	for long double.
	* g++.dg/asan/sanitizer_pthread_wrappers.h: New file.
	Imported from upstream r209283.
	* g++.dg/asan/asan_test_config.h: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211090 138bc75d-0d04-0410-961f-82ee72b054a4
	* sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
	BUILT_IN_ASAN_REPORT_STORE_N): New.
	* asan.c (struct asan_mem_ref): Change access_size type to
	HOST_WIDE_INT.
	(asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
	update_mem_ref_hash_table): Likewise.
	(asan_mem_ref_hasher::hash): Hash in a HWI.
	(report_error_func): Change size_in_bytes argument to HWI.
	Use *_N builtins if size_in_bytes is larger than 16 or not power of
	two.
	(build_shadow_mem_access): New function.
	(build_check_stmt): Use it.  Change size_in_bytes argument to HWI.
	Handle size_in_bytes not power of two or larger than 16.
	(instrument_derefs): Don't give up if size_in_bytes is not
	power of two or is larger than 16.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211091 138bc75d-0d04-0410-961f-82ee72b054a4
	* asan.c (report_error_func): Add SLOW_P argument, use
	BUILT_IN_ASAN_*_N if set.
	(build_check_stmt): Likewise.
	(instrument_derefs): If T has insufficient alignment,
	force same handling as for odd sizes.

	* c-c++-common/asan/misalign-1.c: New test.
	* c-c++-common/asan/misalign-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211092 138bc75d-0d04-0410-961f-82ee72b054a4
	* lib/target-libpath.exp (set_gcc_exec_prefix_env_var,
	restore_gcc_exec_prefix_env_var): New procedures.
	(set_ld_library_path_env_vars,
	restore_ld_library_path_env_vars): Use them.
	* lib/c-compat.exp: Load target-libpath.exp.
	(compat-use-alt-compiler): Call restore_gcc_exec_prefix_env_var.
	(compat-use-tst-compiler): Call set_gcc_exec_prefix_env_var.
	* g++.dg/compat/compat.exp (compat-use-alt-compiler): Call
	restore_gcc_exec_prefix_env_var.
	* g++.dg/compat/struct-layout-1.exp (compat-use-alt-compiler):
	Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211093 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/56947
	* pt.c (instantiate_decl): Check that defer_ok is not set for
	local class members.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211094 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/xml/manual/appendix_contributing.xml (list.copyright): Add
	Paolo's address too.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211095 138bc75d-0d04-0410-961f-82ee72b054a4
Add missing closing brace

2014-05-31  Tom de Vries  <tom@codesourcery.com>

	* gcc.target/i386/sibcall-4.c: Add missing closing brace.

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

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

	DR 1227
	PR c++/57543
	* cp-tree.h (TYPE_HAS_LATE_RETURN_TYPE): Add.
	* pt.c (tsubst_function_type): Inject the this parameter; do the
	substitutions in the order mandated by the DR.
	(copy_default_args_to_explicit_spec): Copy TYPE_HAS_LATE_RETURN_TYPE.
	* decl.c (grokdeclarator): Maybe set TYPE_HAS_LATE_RETURN_TYPE.
	(static_fn_type): Copy it.
	* decl2.c (build_memfn_type, change_return_type,
	cp_reconstruct_complex_type): Likewise.
	* parser.c (cp_parser_lambda_declarator_opt): Likewise.
	* tree.c (strip_typedefs): Likewise.
	* typeck.c (merge_types): Likewise.

/testsuite
2014-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 1227
	PR c++/57543
	* g++.dg/cpp0x/pr57543-1.C: New.
	* g++.dg/cpp0x/pr57543-2.C: Likewise.
	* g++.dg/cpp0x/pr57543-3.C: Likewise.
	* g++.dg/cpp0x/decltype59.C: Likewise.


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

2014-05-31  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
	(arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
	(bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
	and __builtins_arm_get_fpscr.
	(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
	__builtins_arm_get_fpscr.
	(arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
	__builtins_arm_ldfpscr.
	(arm_atomic_assign_expand_fenv): New function.
	* config/arm/vfp.md (set_fpscr): New pattern.
	(get_fpscr) : Likewise.
	* config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
	VUNSPEC_SET_FPSCR.
	* doc/extend.texi (AARCH64 Built-in Functions) : Document
	__builtins_arm_set_fpscr, __builtins_arm_get_fpscr.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211103 138bc75d-0d04-0410-961f-82ee72b054a4
Summary: m68k: add missing early clobber in beq0_di, bne0_di patterns

* config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
a separate alternative where the scratch operand 2 is marked as
early clobber.


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