summaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-27 18:01:45 +0000
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-27 18:01:45 +0000
commitb14d1ad0264f8ccc53285ab70e71b830ce2a7425 (patch)
tree34bdcafac6d64016cc8ac2a3106d7a715e9e6067 /gcc/tree-cfg.c
parentcdd7a5a41ecd752050f6cb2d927d4892d64585f3 (diff)
downloadgcc-b14d1ad0264f8ccc53285ab70e71b830ce2a7425.tar.gz
2012-11-27 Marc Glisse <marc.glisse@inria.fr>
* tree-cfg.c (verify_gimple_comparison): Verify that vector comparison returns a vector. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193862 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 169a205d39a..b79c3af3cf3 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3266,7 +3266,16 @@ verify_gimple_comparison (tree type, tree op0, tree op1)
if (INTEGRAL_TYPE_P (type)
&& (TREE_CODE (type) == BOOLEAN_TYPE
|| TYPE_PRECISION (type) == 1))
- ;
+ {
+ if (TREE_CODE (op0_type) == VECTOR_TYPE
+ || TREE_CODE (op1_type) == VECTOR_TYPE)
+ {
+ error ("vector comparison returning a boolean");
+ debug_generic_expr (op0_type);
+ debug_generic_expr (op1_type);
+ return true;
+ }
+ }
/* Or an integer vector type with the same size and element count
as the comparison operand types. */
else if (TREE_CODE (type) == VECTOR_TYPE