aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-sccvn.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2009-10-31 15:42:14 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2009-10-31 15:42:14 +0000
commit03472fddffd21c67c505d53cc2b3437be16ae090 (patch)
tree3500b11d9754910517bb48e1a445d1d988e070c6 /gcc/tree-ssa-sccvn.c
parent2e57e8534f2add636680babbfaebb6fe53fcac00 (diff)
downloadgcc-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.c4
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. */