call.c (build_conditional_expr_1): Use cp_build_binary_op instead of directly calling fold_build2.

2013-05-16  Marc Glisse  <marc.glisse@inria.fr>

gcc/cp/
	* call.c (build_conditional_expr_1): Use cp_build_binary_op
	instead of directly calling fold_build2.

gcc/testsuite/
	* g++.dg/ext/vector22.C: Uncomment working test.

From-SVN: r198988
This commit is contained in:
Marc Glisse 2013-05-16 22:32:42 +02:00 committed by Marc Glisse
parent 19db293ad5
commit 749dee7e60
4 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2013-05-16 Marc Glisse <marc.glisse@inria.fr>
* call.c (build_conditional_expr_1): Use cp_build_binary_op
instead of directly calling fold_build2.
2013-05-16 Jason Merrill <jason@redhat.com>
* Make-lang.in (cc1plus$(exeext)): Use link mutex.

View File

@ -4455,8 +4455,8 @@ build_conditional_expr_1 (tree arg1, tree arg2, tree arg3,
}
if (!COMPARISON_CLASS_P (arg1))
arg1 = fold_build2 (NE_EXPR, signed_type_for (arg1_type), arg1,
build_zero_cst (arg1_type));
arg1 = cp_build_binary_op (input_location, NE_EXPR, arg1,
build_zero_cst (arg1_type), complain);
return fold_build3 (VEC_COND_EXPR, arg2_type, arg1, arg2, arg3);
}

View File

@ -1,3 +1,7 @@
2013-05-16 Marc Glisse <marc.glisse@inria.fr>
* g++.dg/ext/vector22.C: Uncomment working test.
2013-05-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/17410

View File

@ -11,7 +11,7 @@ void f(vec*a,vec*b){
*/
void g(vec*a,vec*b){
*a=(*a)?(*a<*a):-1;
// *b=(*b)?-1:(*b<*b);
*b=(*b)?-1:(*b<*b);
}
void h(vec*a){
*a=(~*a==5);