typeck.c (cp_build_unary_op): Accept float vectors.

2014-10-14  Marc Glisse  <marc.glisse@inria.fr>

gcc/cp/
	* typeck.c (cp_build_unary_op) [TRUTH_NOT_EXPR]: Accept float vectors.
gcc/testsuite/
	* g++.dg/ext/vector9.C: Test ! with float vectors.

From-SVN: r216201
This commit is contained in:
Marc Glisse 2014-10-14 15:40:36 +02:00 committed by Marc Glisse
parent ebe87abf2b
commit 48d3af1259
4 changed files with 10 additions and 1 deletions

View file

@ -1,3 +1,7 @@
2014-10-14 Marc Glisse <marc.glisse@inria.fr>
* typeck.c (cp_build_unary_op) [TRUTH_NOT_EXPR]: Accept float vectors.
2014-10-13 H.J. Lu <hongjiu.lu@intel.com>
* mangle.c (mangle_conv_op_name_for_type): Cast elements to

View file

@ -5723,7 +5723,7 @@ cp_build_unary_op (enum tree_code code, tree xarg, int noconvert,
break;
case TRUTH_NOT_EXPR:
if (VECTOR_INTEGER_TYPE_P (TREE_TYPE (arg)))
if (VECTOR_TYPE_P (TREE_TYPE (arg)))
return cp_build_binary_op (input_location, EQ_EXPR, arg,
build_zero_cst (TREE_TYPE (arg)), complain);
arg = perform_implicit_conversion (boolean_type_node, arg,

View file

@ -1,3 +1,7 @@
2014-10-14 Marc Glisse <marc.glisse@inria.fr>
* g++.dg/ext/vector9.C: Test ! with float vectors.
2014-10-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/63512

View file

@ -7,4 +7,5 @@ void foo()
{
v4f v;
!(v4i)v;
!v;
}