diff options
author | daney <daney@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-18 05:23:59 +0000 |
---|---|---|
committer | daney <daney@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-18 05:23:59 +0000 |
commit | 7cff3d6b2dbf924e6e424e3fec35418d563d3ea9 (patch) | |
tree | fe9aed1c0382c9311da362f50eb25e347dd27b7e /gcc/java | |
parent | 717116cefc2aa724947b68c30d5a9d29ea1722dc (diff) | |
download | gcc-7cff3d6b2dbf924e6e424e3fec35418d563d3ea9.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130267 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/java/constants.c | 8 |
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index fd737f99ff6..852028afc14 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 68154c0b3a6..8a3c532c870 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]), |