2014-01-30  Richard Biener  <rguenther@suse.de>

	PR c/59905
	* c-typeck.c (build_function_call_vec): Do not replace calls
	to a function via an incompatible type with a runtime abort.

	* gcc.dg/cast-function-1.c: Adjust to survive DCE.
	* gcc.dg/call-diag-2.c: Remove expected warnings about calling
	abort.
	* gcc.dg/invalid-call-1.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207300 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/59645
	* cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207301 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/59633
gcc/
	* tree.c (walk_type_fields): Handle VECTOR_TYPE.
gcc/cp/
	* decl2.c (attributes_naming_typedef_ok): New.
	* cp-tree.h: Declare it.
	* decl.c (grokdeclarator): Check it.
	* tree.c (no_linkage_check): Handle VECTOR_TYPE.

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

	* decl.c (duplicate_decls, typename_hash, typename_compare):
	Use TYPE_IDENTIFIER.
	* error.c (dump_type): Likewise.
	* mangle.c (dump_substitution_candidates): Likewise.


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

	PR c++/58649
	* pt.c (lookup_template_class_1): Check start_enum return value
	for error_mark_node.

/testsuite
2014-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58649
	* g++.dg/template/crash117.C: New.


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

	PR c++/58843
	* typeck.c (lookup_destructor): Check dtor_type for error_mark_node.

/testsuite
2014-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58843
	* g++.dg/lookup/crash8.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207305 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59903
	* tree-vect-loop.c (vect_transform_loop): Guard multiple-types
	check properly.

	* gcc.dg/torture/pr59903.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207307 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/rl78/rl78.c (register_sizes): Make the "upper half" of
	%fp 2 to keep registers after it properly word-aligned.
	(rl78_alloc_physical_registers_umul): Handle the case where both
	input operands are the same.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207308 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/59940
c-family/
	* c-common.h (unsafe_conversion_p): Adjust declaration.
	(warnings_for_convert_and_check): Likewise.
	(convert_and_check): Likewise.
	* c-common.c (unsafe_conversion_p): Add location parameter.  Call
	expansion_point_location_if_in_system_header on it.
	(warnings_for_convert_and_check): Add location parameter.  Call
	expansion_point_location_if_in_system_header on it.  Use it.
	(convert_and_check): Add location parameter.  Use it.
	(conversion_warning): Likewise.
	(c_add_case_label): Adjust convert_and_check calls.
	(scalar_to_vector): Adjust unsafe_conversion_p calls.
cp/
	* typeck.c (build_ptrmemfunc1): Call convert_and_check with
	input_location.
	* cvt.c (cp_convert_and_check): Call warnings_for_convert_and_check
	with input_location.
	* call.c (build_conditional_expr_1): Call unsafe_conversion_p with
	loc parameter.
c/
	* c-typeck.c (build_function_call_vec): Use loc parameter.
	(convert_arguments): Add location parameter.  Use it.
	(ep_convert_and_check): Likewise.
	(build_atomic_assign): Adjust convert_for_assignment call.
	(build_modify_expr): Likewise.
	(digest_init): Likewise.
	(c_finish_return): Likewise.
	(build_conditional_expr): Adjust ep_convert_and_check calls.
	(convert_for_assignment): Add rhs_loc parameter.  Use it.
	(build_binary_op): Adjust convert_and_check and ep_convert_and_check
	calls.
testsuite/
	* gcc.dg/pr59940.c: New test.
	* gcc.dg/pr35635.c (func3): Move dg-warning.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207309 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
	Rename to mn10300_store_multiple_regs.
	* config/mn10300/mn10300.c: Likewise.
	* config/mn10300/mn10300.md (store_movm): Fix typo: call
	store_multiple_regs.
	* config/mn10300/predicates.md (mn10300_store_multiple_operation):
	Call mn10300_store_multiple_regs.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207310 138bc75d-0d04-0410-961f-82ee72b054a4
Add SImode to comparison operator, prevents ICE during combine
rtl pass with error message;

internal compiler error: in simplify_subreg, at simplify-rtx.c:5725

Use ordered_comparison_operator predicate to limit operators to
those fcmp can handle, and letting compiler reorder insns to
accomodate unordered as necessary

gcc/ChangeLog

2013-11-26  David Holsgrove <david.holsgrove@xilinx.com>

 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
   comparison_operator with ordered_comparison_operator.

testsuite/ChangeLog

2014-01-22  David holsgrove <david.holsgrove@xilinx.com>

 * testsuite/gcc.target/microblaze/isa/fcmp4.c: New file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207311 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/Wconversion-real-integer.c: Properly end comment.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207312 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-30  Alangi Derick  <alangiderick@gmail.com>

	* README.Portability: Fix typo.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207314 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/
	* g++.dg/vect/pr33426-ivdep.cc, g++.dg/vect/pr33426-ivdep-2.cc,
	g++.dg/vect/pr33426-ivdep-3.cc, g++.dg/vect/pr33426-ivdep-4.cc,
	gcc.dg/vect/vect-ivdep-1.c, gcc.dg/vect/vect-ivdep-2.c: Require
	vect_int rather than vect_float.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207315 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59993
	* tree-ssa-forwprop.c (associate_pointerplus): Check we
	can propagate form the earlier stmt and avoid the transform
	when the intermediate result is needed.

	* gcc.dg/torture/pr59993.c: New testcase.


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

2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
	gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
	remove element index adjustment for endian (now handled in vsx.md
	and altivec.md).
	(altivec_expand_vec_perm_const): Use
	gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
	* gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
	(vsx_xxspltw_<mode>): Adjust element index for little endian.
	* gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
	define_expand and a new define_insn *altivec_vspltb_internal;
	adjust for -maltivec=be on a little endian target.
	(altivec_vspltb_direct): New.
	(altivec_vsplth): Divide into a define_expand and a new
	define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
	little endian target.
	(altivec_vsplth_direct): New.
	(altivec_vspltw): Divide into a define_expand and a new
	define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
	little endian target.
	(altivec_vspltw_direct): New.
	(altivec_vspltsf): Divide into a define_expand and a new
	define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
	a little endian target.

gcc/testsuite:

2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/splat.c: New.
	* gcc.dg/vmx/splat-vsx.c: New.
	* gcc.dg/vmx/splat-be-order.c: New.
	* gcc.dg/vmx/splat-vsx-be-order.c: New.
	* gcc.dg/vmx/eg-5.c: Remove special casing for little endian.
	* gcc.dg/vmx/sn7153.c: Add special casing for little endian.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207318 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/
	PR c++/58708
	* parser.c (make_string_pack): Use double_int::from_buffer.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207320 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing
	warning.
	* config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
	Add missing return type - void.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207321 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59959
	* lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
	any reload of register whose subreg is invalid.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207323 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/59923
	* ifcvt.c (cond_exec_process_insns): Don't conditionalize
	frame related instructions.

	* gcc.target/arm/pr59923.c: New test.


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