OSDN Git Service

2010-01-21 Martin Jambor <mjambor@suse.cz>
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Jan 2010 16:04:12 +0000 (16:04 +0000)
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Jan 2010 16:04:12 +0000 (16:04 +0000)
* tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156155 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-sra.c

index 349e151..011af1d 100644 (file)
@@ -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
index dd62cc5..bc729ba 100644 (file)
@@ -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)