From bbba11173ac429c0506e8aece7dfa3eea42307a8 Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Tue, 28 May 2013 15:18:55 +0200 Subject: [PATCH] tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs and REALPART_EXPRs have scalar type. 2013-05-28 Martin Jambor * tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs and REALPART_EXPRs have scalar type. From-SVN: r199379 --- gcc/ChangeLog | 5 +++++ gcc/tree-cfg.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a7cc93d1513..6dbdf3297ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-05-28 Martin Jambor + + * tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs + and REALPART_EXPRs have scalar type. + 2013-05-28 Richard Biener PR tree-optimization/57411 diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index f38a32a4e73..fe76a8c3c2a 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, -- 2.30.2