diff options
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 844e7c14a0e..abc1672fffb 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -3267,8 +3267,12 @@ verify_expr (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) } else if (TREE_CODE (t) == BIT_FIELD_REF) { - CHECK_OP (1, "invalid operand to BIT_FIELD_REF"); - CHECK_OP (2, "invalid operand to BIT_FIELD_REF"); + if (!host_integerp (TREE_OPERAND (t, 1), 1) + || !host_integerp (TREE_OPERAND (t, 2), 1)) + { + error ("invalid position or size operand to BIT_FIELD_REF"); + return t; + } } t = TREE_OPERAND (t, 0); |