aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Daney <daney@gcc.gnu.org>2007-11-18 05:23:59 +0000
committerDavid Daney <daney@gcc.gnu.org>2007-11-18 05:23:59 +0000
commitaf246415aa48006c215cb6c3d84943d5124260eb (patch)
treefe9aed1c0382c9311da362f50eb25e347dd27b7e /gcc
parent19c2da45943e3f5d8d6255609f004b743a73a64d (diff)
downloadgcc-af246415aa48006c215cb6c3d84943d5124260eb.zip
gcc-af246415aa48006c215cb6c3d84943d5124260eb.tar.gz
gcc-af246415aa48006c215cb6c3d84943d5124260eb.tar.bz2
constants.c (build_constants_constructor): Use POINTER_SIZE insead of BITS_PER_WORD in big-endian work around.
2007-11-16 David Daney <ddaney@avtrex.com> Andrew Haley <aph@redhat.com> * constants.c (build_constants_constructor): Use POINTER_SIZE insead of BITS_PER_WORD in big-endian work around. From-SVN: r130267
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog8
-rw-r--r--gcc/java/constants.c8
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index fd737f9..852028a 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2007-11-17 David Daney <ddaney@avtrex.com>
+ Andrew Haley <aph@redhat.com>
+
+ * constants.c (build_constants_constructor): Use POINTER_SIZE
+ insead of BITS_PER_WORD in big-endian work around.
+
2007-11-07 Tom Tromey <tromey@redhat.com>
PR java/34019:
@@ -51,7 +57,7 @@
2007-09-07 Roman Zippel <zippel@linux-m68k.org>
- boehm.c (mark_reference_fields): Move misaligned pointer check
+ * boehm.c (mark_reference_fields): Move misaligned pointer check
after JREFERENCE_TYPE_P test
2007-09-06 Roman Zippel <zippel@linux-m68k.org>
diff --git a/gcc/java/constants.c b/gcc/java/constants.c
index 68154c0..8a3c532c 100644
--- a/gcc/java/constants.c
+++ b/gcc/java/constants.c
@@ -518,13 +518,13 @@ build_constants_constructor (void)
{
unsigned HOST_WIDE_INT temp = outgoing_cpool->data[i].w;
- /* Make sure that on a 64-bit big-endian machine this
- 32-bit jint appears in the first word.
+ /* Make sure that on a big-endian machine with 64-bit
+ pointers this 32-bit jint appears in the first word.
FIXME: This is a kludge. The field we're initializing is
not a scalar but a union, and that's how we should
represent it in the compiler. We should fix this. */
- if (BYTES_BIG_ENDIAN && BITS_PER_WORD > 32)
- temp <<= BITS_PER_WORD - 32;
+ if (BYTES_BIG_ENDIAN && POINTER_SIZE > 32)
+ temp <<= POINTER_SIZE - 32;
tags_list
= tree_cons (NULL_TREE, get_tag_node (outgoing_cpool->tags[i]),