diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2009-10-31 15:42:14 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2009-10-31 15:42:14 +0000 |
commit | 03472fddffd21c67c505d53cc2b3437be16ae090 (patch) | |
tree | 3500b11d9754910517bb48e1a445d1d988e070c6 /gcc/tree-ssa-sccvn.c | |
parent | 2e57e8534f2add636680babbfaebb6fe53fcac00 (diff) | |
download | gcc-03472fddffd21c67c505d53cc2b3437be16ae090.zip gcc-03472fddffd21c67c505d53cc2b3437be16ae090.tar.gz gcc-03472fddffd21c67c505d53cc2b3437be16ae090.tar.bz2 |
tree-ssa-sccvn.c (vn_reference_lookup_3): Bail out instead of aborting if the sizes of the two references don't match.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Bail out instead of
aborting if the sizes of the two references don't match.
From-SVN: r153777
Diffstat (limited to 'gcc/tree-ssa-sccvn.c')
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index 4158fbd..0a8dcaa 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -1157,7 +1157,9 @@ vn_reference_lookup_3 (ao_ref *ref, tree vuse, void *vr_) /* Adjust *ref from the new operands. */ if (!ao_ref_init_from_vn_reference (&r, vr->set, vr->type, vr->operands)) return (void *)-1; - gcc_assert (ref->size == r.size); + /* This can happen with bitfields. */ + if (ref->size != r.size) + return (void *)-1; *ref = r; /* Keep looking for the adjusted *REF / VR pair. */ |