128101 Commits

Author SHA1 Message Date
Max Ostapenko
af3978a10d * c-c++-common/tsan/simple_race.c: Made test less flaky.
From-SVN: r207344
2014-01-31 15:42:10 +02:00
Ilya Tocar
e0514839c0 m512-check.h: Use correct rounding values.
gcc/testsuite/
        * gcc.target/i386/m512-check.h: Use correct rounding values.

From-SVN: r207343
2014-01-31 13:29:08 +00:00
Ilya Tocar
de72ea020c gcc/
* config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
	(_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
	(_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
	in smmintrin.h, remove them.
	(_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
	* config/i386/i386.c (ix86_print_operand): Split sae and rounding.
	* config/i386/i386.md (ROUND_SAE): Fix value.
	* config/i386/predicates.md (const_4_or_8_to_11_operand): New.
	(const48_operand): New.
	* config/i386/subst.md (round), (round_expand): Use
	const_4_or_8_to_11_operand.
	(round_saeonly), (round_saeonly_expand): Use const48_operand.

gcc/testsuite/
	* gcc.target/i386/avx-1.c: Use correct rounding values.
        * gcc.target/i386/avx512f-vaddpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vaddps-1.c: Ditto.
        * gcc.target/i386/avx512f-vaddsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vaddss-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtdq2ps-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtpd2dq-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtpd2ps-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtpd2udq-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtps2dq-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtps2udq-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2usi-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2usi64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtss2usi-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtss2usi64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtudq2ps-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtusi2ss-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Ditto.
        * gcc.target/i386/avx512f-vdivpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vdivps-1.c: Ditto.
        * gcc.target/i386/avx512f-vdivsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vdivss-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddXXXsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddXXXss-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddsubXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddsubXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubXXXsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubXXXss-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubaddXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubaddXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmaddXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmaddXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmaddXXXsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmaddXXXss-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmsubXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmsubXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmsubXXXsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmsubXXXss-1.c: Ditto.
        * gcc.target/i386/avx512f-vmulpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vmulps-1.c: Ditto.
        * gcc.target/i386/avx512f-vmulsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vmulss-1.c: Ditto.
        * gcc.target/i386/avx512f-vscalefpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vscalefps-1.c: Ditto.
        * gcc.target/i386/avx512f-vscalefsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vscalefss-1.c: Ditto.
        * gcc.target/i386/avx512f-vsqrtpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vsqrtps-1.c: Ditto.
        * gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vsqrtss-1.c: Ditto.
        * gcc.target/i386/avx512f-vsubpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vsubps-1.c: Ditto.
        * gcc.target/i386/avx512f-vsubsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vsubss-1.c: Ditto.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.

From-SVN: r207342
2014-01-31 13:22:57 +00:00
Ilya Tocar
be792bce4f constraints.md (Yk): Swap meaning with k.
gcc/
	* config/i386/constraints.md (Yk): Swap meaning with k.
	* config/i386/i386.md (movhi_internal): Change Yk to k.
	(movqi_internal): Ditto.
	(*k<logic><mode>): Ditto.
	(*andhi_1): Ditto.
	(*andqi_1): Ditto.
	(kandn<mode>): Ditto.
	(*<code>hi_1): Ditto.
	(*<code>qi_1): Ditto.
	(kxnor<mode>): Ditto.
	(kortestzhi): Ditto.
	(kortestchi): Ditto.
	(kunpckhi): Ditto.
	(*one_cmplhi2_1): Ditto.
	(*one_cmplqi2_1): Ditto.
	* config/i386/sse.md (): Change k to Yk.
	(avx512f_load<mode>_mask): Ditto.
	(avx512f_blendm<mode>): Ditto.
	(avx512f_store<mode>_mask): Ditto.
	(avx512f_storeu<ssemodesuffix>512_mask): Ditto.
	(avx512f_storedqu<mode>_mask): Ditto.
	(avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>): Ditto.
	(avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
	(avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
	(avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
	(avx512f_maskcmp<mode>3): Ditto.
	(avx512f_fmadd_<mode>_mask<round_name>): Ditto.
	(avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
	(avx512f_fmsub_<mode>_mask<round_name>): Ditto.
	(avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
	(avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
	(avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
	(avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
	(avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
	(avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
	(avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
	(avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
	(avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
	(avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
	(vec_extract_lo_<mode>_maskm): Ditto.
	(vec_extract_hi_<mode>_maskm): Ditto.
	(avx512f_vternlog<mode>_mask): Ditto.
	(avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
	(avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
	(avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
	(avx512f_<code>v8div16qi2_mask): Ditto.
	(avx512f_<code>v8div16qi2_mask_store): Ditto.
	(avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
	(avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
	(avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
	(avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
	(*avx512pf_gatherpf<mode>sf_mask): Ditto.
	(*avx512pf_gatherpf<mode>df_mask): Ditto.
	(*avx512pf_scatterpf<mode>sf_mask): Ditto.
	(*avx512pf_scatterpf<mode>df_mask): Ditto.
	(avx512cd_maskb_vec_dupv8di): Ditto.
	(avx512cd_maskw_vec_dupv16si): Ditto.
	(avx512f_vpermi2var<mode>3_maskz): Ditto.
	(avx512f_vpermi2var<mode>3_mask): Ditto.
	(avx512f_vpermi2var<mode>3_mask): Ditto.
	(avx512f_vpermt2var<mode>3_maskz): Ditto.
	(*avx512f_gathersi<mode>): Ditto.
	(*avx512f_gathersi<mode>_2): Ditto.
	(*avx512f_gatherdi<mode>): Ditto.
	(*avx512f_gatherdi<mode>_2): Ditto.
	(*avx512f_scattersi<mode>): Ditto.
	(*avx512f_scatterdi<mode>): Ditto.
	(avx512f_compress<mode>_mask): Ditto.
	(avx512f_compressstore<mode>_mask): Ditto.
	(avx512f_expand<mode>_mask): Ditto.
	* config/i386/subst.md (mask): Change k to Yk.
	(mask_scalar_merge): Ditto.
	(sd): Ditto.

gcc/testsuite/
	* gcc.target/i386/avx512f-inline-asm.c: Swap Yk and k.
	* gcc.target/i386/avx512f-kmovw-1.c: Also allow k0.

From-SVN: r207341
2014-01-31 13:19:10 +00:00
Marc Glisse
0878d68a0b extend.texi (Vector Extensions): Document ?: in C++.
2014-01-31  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* doc/extend.texi (Vector Extensions): Document ?: in C++.

From-SVN: r207340
2014-01-31 12:59:44 +00:00
Jakub Jelinek
6c02e13986 Fix a typo.
From-SVN: r207339
2014-01-31 13:52:39 +01:00
Richard Biener
fdfd537bcb re PR middle-end/59990 (incorrect memcpy optimization)
2014-01-31  Richard Biener  <rguenther@suse.de>

	PR middle-end/59990
	* builtins.c (fold_builtin_memory_op): Make sure to not
	use a floating-point mode or a boolean or enumeral type for
	the copy operation.

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

From-SVN: r207338
2014-01-31 11:54:26 +00:00
Jakub Jelinek
798888a050 tsan-dg.exp (tsan_init): Try to run a trivial program, if it fails don't run any tsan tests.
* lib/tsan-dg.exp (tsan_init): Try to run a trivial program,
	if it fails don't run any tsan tests.

From-SVN: r207337
2014-01-31 12:30:46 +01:00
Marek Polacek
81e5eca873 re PR c/59963 (Wrong column number for warning -Woverflow)
PR c/59963
c-family/
	* c-common.c (add_atomic_size_parameter): Pass vNULL to
	build_function_call_vec.
	(resolve_overloaded_builtin): Likewise.
	* c-common.h (build_function_call_vec): Adjust declaration.
cp/
	* typeck.c (build_function_call_vec): Add dummy arg_loc parameter.
c/
	* c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
	build_function_call_vec.
	(build_function_call): Likewise.
	(build_atomic_assign): Likewise.
	(build_function_call_vec): Add arg_loc parameter.  Use it.
	(convert_arguments): Likewise.
	(convert_for_assignment): Rename rhs_loc to expr_loc.
	* c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
	(c_parser_objc_keywordexpr): Likewise.
	(c_parser_postfix_expression_after_primary): Call
	build_function_call_vec with expr_loc rather than op_loc.
	Call c_parser_expr_list to fill arg_loc.  Pass arg_loc to
	build_function_call_vec.
	(c_parser_expr_list): Add locations parameter.  Fill it with locations
	of function arguments.
	* c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
objc/
	* objc-next-runtime-abi-02.c (build_throw_stmt): Pass vNULL to
	build_function_call_vec.
	(finish_catch): Likewise.
	(next_runtime_abi_02_get_class_reference): Likewise.
	* objc-next-runtime-abi-01.c (build_objc_method_call): Pass vNULL to
	build_function_call_vec.
	(build_throw_stmt): Likewise.
	* objc-gnu-runtime-abi-01.c: (build_objc_method_call): Pass vNULL to
	build_function_call_vec.
	(build_throw_stmt): Likewise.
testsuite/
	* gcc.dg/pr59940.c (g): Adjust dg-warning.
	(y): Adjust dg-error.
	* gcc.dg/cast-function-1.c (bar): Adjust dg-warnings.
	* gcc.dg/pr59963-1.c: New test.
	* gcc.dg/pr59963-2.c: New test.
	* gcc.dg/pr59963-3.c: New test.

From-SVN: r207335
2014-01-31 08:13:50 +00:00
DJ Delorie
4f50b9ff56 msp430.h (LIB_SPEC): Add -lcrt
* config/msp430/msp430.h (LIB_SPEC): Add -lcrt
* config/msp430/msp430.md (msp430_refsym_need_exit): New.
* config/msp430/msp430.c (msp430_expand_epilogue): Call it
whenever main() has an epilogue.

From-SVN: r207334
2014-01-30 23:17:38 -05:00
Jason Merrill
f221dc810d re PR c++/57899 (bind/function with data member: infinite recursion)
PR c++/57899
	* cp-tree.h (struct saved_scope): Add x_local_specializations.
	(local_specializations): New macro.
	* pt.c (local_specializations): Remove variable.

From-SVN: r207332
2014-01-30 22:47:22 -05:00
Ian Lance Taylor
56e13ae006 compiler: Use backend interface for conditional expressions.
From-SVN: r207330
2014-01-31 01:58:12 +00:00
GCC Administrator
8fec1e9b78 Daily bump.
From-SVN: r207329
2014-01-31 00:16:31 +00:00
Bill Schmidt
c3e9607310 rs6000.c (rs6000_expand_vector_init): Remove unused variable "field".
2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
	unused variable "field".
	* config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
	(vsx_mergeh_<mode>): Likewise.
	* config/rs6000/altivec.md (altivec_vmrghb): Likewise.
	(altivec_vmrghh): Likewise.
	(altivec_vmrghw): Likewise.
	(altivec_vmrglb): Likewise.
	(altivec_vmrglh): Likewise.
	(altivec_vmrglw): Likewise.
	(altivec_vspltb): Add missing uses.
	(altivec_vsplth): Likewise.
	(altivec_vspltw): Likewise.
	(altivec_vspltsf): Likewise.

From-SVN: r207326
2014-01-30 22:36:13 +00:00
Jakub Jelinek
4bb9c32da1 re PR regression/59923 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2239 with -mcpu=cortex-a15 -mthumb -O2 -fvisibility=hidden -g)
PR target/59923
	* ifcvt.c (cond_exec_process_insns): Don't conditionalize
	frame related instructions.

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

From-SVN: r207324
2014-01-30 22:48:08 +01:00
Vladimir Makarov
7613fa5075 re PR rtl-optimization/59959 (LRA ICEs on a fortran case(Suspected to be similar to pr59915))
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.

From-SVN: r207323
2014-01-30 21:15:51 +00:00
Jakub Jelinek
6fb82517e8 f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
* config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing
	warning.
	* config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
	Add missing return type - void.

From-SVN: r207321
2014-01-30 21:05:32 +01:00
Richard Sandiford
35e519c484 re PR c++/58708 (string literal operator templates broken)
gcc/cp/
	PR c++/58708
	* parser.c (make_string_pack): Use double_int::from_buffer.

From-SVN: r207320
2014-01-30 19:44:06 +00:00
Bill Schmidt
bf53d4b89e rs6000.c (rs6000_expand_vector_init): Use gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf...
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.

From-SVN: r207318
2014-01-30 18:59:55 +00:00
Richard Biener
c965e18748 re PR middle-end/59993 (ICE: SSA corruption)
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.

From-SVN: r207316
2014-01-30 18:28:19 +00:00
Richard Sandiford
5f71f3d3e0 pr33426-ivdep.cc, [...]: Require vect_int rather than vect_float.
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.

From-SVN: r207315
2014-01-30 18:18:21 +00:00
Alangi Derick
ba1176452d README.Portability: Fix typo.
2014-01-30  Alangi Derick  <alangiderick@gmail.com>

	* README.Portability: Fix typo.

From-SVN: r207314
2014-01-30 17:29:25 +00:00
Marek Polacek
053247c84b * gcc.dg/Wconversion-real-integer.c: Properly end comment.
From-SVN: r207312
2014-01-30 17:24:19 +00:00
David Holsgrove
29bd572811 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.

From-SVN: r207311
2014-01-30 17:18:17 +00:00
Nick Clifton
c345a0b156 mn10300-protos.h (mn10300_store_multiple_operation_p): Rename to mn10300_store_multiple_regs.
* 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.

From-SVN: r207310
2014-01-30 16:22:58 +00:00
Marek Polacek
68fca59529 re PR c/59940 (Imprecise column number for -Wconversion)
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.

From-SVN: r207309
2014-01-30 16:15:36 +00:00
Nick Clifton
2d70f6d435 rl78.c (register_sizes): Make the "upper half" of %fp 2 to keep registers after it properly word-aligned.
* 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.

Co-Authored-By: DJ Delorie <dj@redhat.com>

From-SVN: r207308
2014-01-30 16:01:43 +00:00
Richard Biener
c972624e48 re PR tree-optimization/59903 (ICE on valid code at -O3 on x86_64-linux-gnu (affecting trunk and 4.8.x))
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.

From-SVN: r207307
2014-01-30 15:30:30 +00:00
Paolo Carlini
9ca57929d6 re PR c++/58843 (ICE with broken destructor call)
/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.

From-SVN: r207305
2014-01-30 14:32:25 +00:00
Paolo Carlini
e1b317aecf re PR c++/58649 (ICE with use of enum before declaration)
/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.

From-SVN: r207304
2014-01-30 14:28:55 +00:00
Paolo Carlini
cc27b5cd86 decl.c (duplicate_decls, [...]): Use TYPE_IDENTIFIER.
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.

From-SVN: r207303
2014-01-30 14:26:51 +00:00
Jason Merrill
404c2aeaae re PR c++/59633 (ICE with __attribute((vector_size(...))) for enum)
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.

From-SVN: r207302
2014-01-30 09:21:31 -05:00
Jason Merrill
fc044323f4 re PR c++/59645 (ICE with covariant return and volatile)
PR c++/59645
	* cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.

From-SVN: r207301
2014-01-30 09:18:15 -05:00
Richard Biener
fa337f3ae5 re PR c/59905 (Unfriendly abort when calling a fucntion via a function pointer cast)
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.

From-SVN: r207300
2014-01-30 14:17:02 +00:00
Richard Biener
f30a0ba57a re PR tree-optimization/59951 (bootstrap comparison failure with -O3 for a week)
2014-01-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59951
	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug
	insns.

From-SVN: r207299
2014-01-30 11:58:16 +00:00
Savin Zlobec
aad8816f5a re PR target/59784 (Nios2: Wrong code generation for fextsd custom instruction)
2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>

	PR target/59784
	* config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
	SFmode to DFmode case.

From-SVN: r207297
2014-01-30 05:51:30 +00:00
Jason Merrill
3c4e06c27a re PR c++/59707 (Crash when using std::map with template class)
PR c++/59707
	* call.c (add_builtin_candidate): Catch dependent types.

From-SVN: r207295
2014-01-30 00:28:52 -05:00
DJ Delorie
3b16363e1a msp430.opt (-minrt): New.
* config/msp430/msp430.opt (-minrt): New.
* config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
if -minrt given.
(ENDFILE_SPEC): Likewise.

From-SVN: r207294
2014-01-29 21:57:41 -05:00
GCC Administrator
d9e1d3e524 Daily bump.
From-SVN: r207292
2014-01-30 00:16:45 +00:00
Jonathan Wakely
1492a408f9 re PR libstdc++/57226 (The installation of pretty printers is not documented)
PR libstdc++/57226
	* doc/xml/manual/debug.xml (debug.gdb): Update documentation for
	installation and use of python printers.
	* doc/xml/manual/status_cxx2011.xml: Update.
	* doc/html/*: Regenerate.

From-SVN: r207288
2014-01-29 23:46:31 +00:00
Jan Hubicka
3100142a95 ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
* ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
	(estimate_function_body_sizes): Use it.

From-SVN: r207287
2014-01-29 22:50:22 +00:00
Jason Merrill
0429e06465 re PR c++/59989 (ICE when a template parameter pack is explicitly specified for a function template and provides a complete argument list for a template)
PR c++/59989
	* pt.c (expand_template_argument_pack): Correct
	non_default_args_count calculation.

From-SVN: r207285
2014-01-29 17:12:09 -05:00
Jason Merrill
434e6c8a7c re PR c++/58466 (ICE in cxx_eval_constant_expression)
PR c++/58466
	* pt.c (unify_pack_expansion): Call expand_template_argument_pack.

From-SVN: r207283
2014-01-29 15:54:21 -05:00
Paolo Carlini
1200933ccc re PR c++/58561 ([c++11] ICE using declaration of function with auto in return type)
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58561
	* dwarf2out.c (is_cxx_auto): New.
	(is_base_type): Use it.
	(gen_type_die_with_usage): Likewise.

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

	PR c++/58561
	* g++.dg/cpp1y/auto-fn23.C: New.

From-SVN: r207282
2014-01-29 20:54:09 +00:00
Jason Merrill
7651c65685 re PR c++/59956 (internal compiler error: unexpected expression ‘P_S’ of kind template_parm_index)
PR c++/59956
	* friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we
	have a friend template in a class template.
	* pt.c (tsubst_friend_function): Look through it.
	(push_template_decl_real): A friend member template is
	primary.

From-SVN: r207281
2014-01-29 15:44:50 -05:00
Jonathan Wakely
d530142ddb re PR libstdc++/21609 (array_allocator vs rebind & templated constructor)
PR libstdc++/21609
	* include/ext/array_allocator.h: Add deprecated attribute.

From-SVN: r207280
2014-01-29 20:43:44 +00:00
Paolo Carlini
e8902891fb re PR c++/58846 (ICE redeclaring __dso_handle)
/cp
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58846
	* decl.c (get_dso_handle_node): Don't crash if dso_handle_node
	== error_mark_node.

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

	PR c++/58846
	* g++.dg/init/dso_handle2.C: New.

From-SVN: r207276
2014-01-29 17:58:37 +00:00
Paolo Carlini
e1e30986f9 re PR c++/58674 ([c++11] ICE with template using declaration)
/cp
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58674
	* pt.c (instantiate_template_1): Check for error_mark_node the second
	argument too.

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

	PR c++/58674
	* g++.dg/cpp0x/pr58674.C: New.

From-SVN: r207275
2014-01-29 17:54:51 +00:00
Kirill Yukhin
53d7df9351 re PR tree-optimization/59617 ([vectorizer] ICE in vectorizable_mask_load_store with AVX-512F's gathers enabled.)
gcc/testsuite/

        PR target/59617
	* gcc.target/i386/avx512f-gather-2.c: Remove XPASS.
	* gcc.target/i386/avx512f-gather-5.c: Ditto.

From-SVN: r207274
2014-01-29 17:35:19 +00:00
Jason Merrill
1c80c82d7a * g++.dg/parse/enum5.C: Allow for -fshort-enums.
From-SVN: r207273
2014-01-29 12:13:16 -05:00