From: Martin Jambor Date: Thu, 21 Jan 2010 16:04:12 +0000 (+0100) Subject: tree-sra.c (build_ref_for_offset_1): Allow for zero size fields. X-Git-Tag: releases/gcc-4.5.0~1105 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fff08961d5f1bb5758b583948c096df864a451bf;p=thirdparty%2Fgcc.git tree-sra.c (build_ref_for_offset_1): Allow for zero size fields. 2010-01-21 Martin Jambor * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields. From-SVN: r156155 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 349e1511f0b5..011af1de6c8f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2010-01-21 Martin Jambor + + * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields. + 2010-01-21 Andrew Haley * gcc.c (process_command): Move lang_specific_driver before diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index dd62cc537986..bc729ba5256d 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)