diff options
author | Martin Jambor <mjambor@suse.cz> | 2013-05-28 15:18:55 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2013-05-28 15:18:55 +0200 |
commit | bbba11173ac429c0506e8aece7dfa3eea42307a8 (patch) | |
tree | cff1fffd4aeaf0fff77f7e12497570d47e636383 /gcc | |
parent | 2265988cd43beaa553ac76c0ff55f3e60aeba8fb (diff) | |
download | gcc-bbba11173ac429c0506e8aece7dfa3eea42307a8.zip gcc-bbba11173ac429c0506e8aece7dfa3eea42307a8.tar.gz gcc-bbba11173ac429c0506e8aece7dfa3eea42307a8.tar.bz2 |
tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs and REALPART_EXPRs have scalar type.
2013-05-28 Martin Jambor <mjambor@suse.cz>
* tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs
and REALPART_EXPRs have scalar type.
From-SVN: r199379
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a7cc93d..6dbdf32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-05-28 Martin Jambor <mjambor@suse.cz> + + * tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs + and REALPART_EXPRs have scalar type. + 2013-05-28 Richard Biener <rguenther@suse.de> PR tree-optimization/57411 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, |