aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/parse.y4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 826d608..64fea4a 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2006-03-30 Tom Tromey <tromey@redhat.com>
+
+ PR java/26042:
+ * parse.y (java_reorder_fields): Reset superclass field's size as
+ well.
+
2006-03-28 Tom Tromey <tromey@redhat.com>
PR java/26390:
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 6b0bf76..118c66f 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -7770,6 +7770,10 @@ java_reorder_fields (void)
if (!DECL_NAME (TYPE_FIELDS (current_class)))
{
tree fields = TYPE_FIELDS (current_class);
+ /* This works around a problem where on some platforms,
+ the field might be given its size incorrectly. */
+ DECL_SIZE (fields) = NULL_TREE;
+ DECL_SIZE_UNIT (fields) = NULL_TREE;
TREE_CHAIN (fields) = nreverse (TREE_CHAIN (fields));
TYPE_SIZE (current_class) = NULL_TREE;
}