diff options
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index f38a32a..fe76a8c 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -2668,10 +2668,17 @@ verify_expr (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) case REALPART_EXPR: case IMAGPART_EXPR: + case BIT_FIELD_REF: + if (!is_gimple_reg_type (TREE_TYPE (t))) + { + error ("non-scalar BIT_FIELD_REF, IMAGPART_EXPR or REALPART_EXPR"); + return t; + } + + /* Fall-through. */ case COMPONENT_REF: case ARRAY_REF: case ARRAY_RANGE_REF: - case BIT_FIELD_REF: case VIEW_CONVERT_EXPR: /* We have a nest of references. Verify that each of the operands that determine where to reference is either a constant or a variable, |