aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-05-16 10:22:52 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-05-16 10:22:52 +0000
commitc448fedea9abae497aaebccf55d1b1db2c3e5593 (patch)
treea8d2d3ba35ac86e26dc93550c5c152324209e308
parent7ad491c6368516f2fa649d215f1782011465bb60 (diff)
downloadgcc-c448fedea9abae497aaebccf55d1b1db2c3e5593.zip
gcc-c448fedea9abae497aaebccf55d1b1db2c3e5593.tar.gz
gcc-c448fedea9abae497aaebccf55d1b1db2c3e5593.tar.bz2
tree-cfg.c (verify_gimple_assign_ternary): Properly verify the [VEC_]COND_EXPR embedded comparison.
2018-05-16 Richard Biener <rguenther@suse.de> * tree-cfg.c (verify_gimple_assign_ternary): Properly verify the [VEC_]COND_EXPR embedded comparison. From-SVN: r260283
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-cfg.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 80097cb..1f67c9b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2018-05-16 Richard Biener <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_assign_ternary): Properly
+ verify the [VEC_]COND_EXPR embedded comparison.
+
2018-05-15 Martin Sebor <msebor@redhat.com>
PR tree-optimization/85753
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 2ada965..7f48d2d 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -4137,6 +4137,12 @@ verify_gimple_assign_ternary (gassign *stmt)
}
/* Fallthrough. */
case COND_EXPR:
+ if (!is_gimple_val (rhs1)
+ && verify_gimple_comparison (TREE_TYPE (rhs1),
+ TREE_OPERAND (rhs1, 0),
+ TREE_OPERAND (rhs1, 1),
+ TREE_CODE (rhs1)))
+ return true;
if (!useless_type_conversion_p (lhs_type, rhs2_type)
|| !useless_type_conversion_p (lhs_type, rhs3_type))
{