From: Marc Glisse Date: Thu, 16 May 2013 20:32:42 +0000 (+0200) Subject: call.c (build_conditional_expr_1): Use cp_build_binary_op instead of directly calling... X-Git-Tag: releases/gcc-4.9.0~5850 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=749dee7e60df58dea8e780134c641a9f67b9fe18;p=thirdparty%2Fgcc.git call.c (build_conditional_expr_1): Use cp_build_binary_op instead of directly calling fold_build2. 2013-05-16 Marc Glisse 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 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a398050745e8..ab2afd489787 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2013-05-16 Marc Glisse + + * call.c (build_conditional_expr_1): Use cp_build_binary_op + instead of directly calling fold_build2. + 2013-05-16 Jason Merrill * Make-lang.in (cc1plus$(exeext)): Use link mutex. diff --git a/gcc/cp/call.c b/gcc/cp/call.c index bd8f531eea4a..b09a87f4642e 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -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); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c454367ddc70..d742559afa9f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-05-16 Marc Glisse + + * g++.dg/ext/vector22.C: Uncomment working test. + 2013-05-16 Paolo Carlini PR c++/17410 diff --git a/gcc/testsuite/g++.dg/ext/vector22.C b/gcc/testsuite/g++.dg/ext/vector22.C index 47f64e7e7a7f..7c0279c68a85 100644 --- a/gcc/testsuite/g++.dg/ext/vector22.C +++ b/gcc/testsuite/g++.dg/ext/vector22.C @@ -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);