From 6b9c511d36b2481d0027402edc14d23aaa221c76 Mon Sep 17 00:00:00 2001 From: glisse Date: Tue, 14 Oct 2014 13:40:36 +0000 Subject: [PATCH] 2014-10-14 Marc Glisse 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216201 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/typeck.c | 2 +- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.dg/ext/vector9.C | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c94916c..50132ff 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2014-10-14 Marc Glisse + + * typeck.c (cp_build_unary_op) [TRUTH_NOT_EXPR]: Accept float vectors. + 2014-10-13 H.J. Lu * mangle.c (mangle_conv_op_name_for_type): Cast elements to diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index b4e6824..5b4f533 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -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, diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 59aca0d..2f08ffe 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2014-10-14 Marc Glisse + + * g++.dg/ext/vector9.C: Test ! with float vectors. + 2014-10-14 Richard Biener PR tree-optimization/63512 diff --git a/gcc/testsuite/g++.dg/ext/vector9.C b/gcc/testsuite/g++.dg/ext/vector9.C index 42d150d..b1216c2 100644 --- a/gcc/testsuite/g++.dg/ext/vector9.C +++ b/gcc/testsuite/g++.dg/ext/vector9.C @@ -7,4 +7,5 @@ void foo() { v4f v; !(v4i)v; + !v; } -- 2.7.4