diff options
author | Martin Jambor <mjambor@suse.cz> | 2010-01-21 17:04:12 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2010-01-21 17:04:12 +0100 |
commit | fff08961d5f1bb5758b583948c096df864a451bf (patch) | |
tree | b75efd2b1cc59db03e11cc9a9424016b3e4887d7 /gcc | |
parent | a288b14325f9d96277e7b4c5ec4bf566490fede3 (diff) | |
download | gcc-fff08961d5f1bb5758b583948c096df864a451bf.zip gcc-fff08961d5f1bb5758b583948c096df864a451bf.tar.gz gcc-fff08961d5f1bb5758b583948c096df864a451bf.tar.bz2 |
tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
2010-01-21 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
From-SVN: r156155
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/tree-sra.c | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 349e151..011af1d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2010-01-21 Martin Jambor <mjambor@suse.cz> + + * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields. + 2010-01-21 Andrew Haley <aph@redhat.com> * gcc.c (process_command): Move lang_specific_driver before diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index dd62cc5..bc729ba 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -1288,7 +1288,12 @@ build_ref_for_offset_1 (tree *res, tree type, HOST_WIDE_INT offset, if (!tr_size || !host_integerp (tr_size, 1)) continue; size = tree_low_cst (tr_size, 1); - if (pos > offset || (pos + size) <= offset) + if (size == 0) + { + if (pos != offset) + continue; + } + else if (pos > offset || (pos + size) <= offset) continue; if (res) |