diff options
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index bb8e256..38d8215 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -1282,8 +1282,7 @@ tree_can_merge_blocks_p (basic_block a, basic_block b) && DECL_NONLOCAL (LABEL_EXPR_LABEL (stmt))) return false; - /* There may be no phi nodes at the start of b. Most of these degenerate - phi nodes should be cleaned up by kill_redundant_phi_nodes. */ + /* There may be no PHI nodes at the start of B. */ if (phi_nodes (b)) return false; @@ -3428,6 +3427,15 @@ verify_expr (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) } break; + case ASSERT_EXPR: + x = fold (ASSERT_EXPR_COND (t)); + if (x == boolean_false_node) + { + error ("ASSERT_EXPR with an always-false condition"); + return *tp; + } + break; + case MODIFY_EXPR: x = TREE_OPERAND (t, 0); if (TREE_CODE (x) == BIT_FIELD_REF |