summaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-03 10:45:40 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-03 10:45:40 +0000
commit183dc110df12ed76b1673d12aa048841ca71106a (patch)
tree8b011a627911d0c6c53d5e9ba79752c0b699e5e7 /gcc/java
parent890881e714f1b9055b0da33ea49dae5926b8a360 (diff)
downloadgcc-183dc110df12ed76b1673d12aa048841ca71106a.tar.gz
PR bootstrap/44335
gcc: * targhooks.c (targhook_words_big_endian): New function. (targhook_float_words_big_endian): Likewise. * targhooks.h (targhook_words_big_endian): Declare. (targhook_float_words_big_endian): Likewise. * target.def (words_big_endian, float_words_big_endian): New hooks. gcc/java: * jfc-parse.c (target.h): Include. (handle_constant): Use targetm.words_big_endian and targetm.float_words_big_endian. (get_constant): Use targetm.float_words_big_endian. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166238 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog8
-rw-r--r--gcc/java/jcf-parse.c7
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 41ae31c159f..ae89444eb1e 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,11 @@
+2010-11-03 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR bootstrap/44335
+ * jfc-parse.c (target.h): Include.
+ (handle_constant): Use targetm.words_big_endian and
+ targetm.float_words_big_endian.
+ (get_constant): Use targetm.float_words_big_endian.
+
2010-10-13 Richard Henderson <rth@redhat.com>
* lang.c (java_eh_personality): Update call to
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index e6dc44c1d0f..30f171cdc90 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -43,6 +43,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "cgraph.h"
#include "vecprim.h"
#include "bitmap.h"
+#include "target.h"
#ifdef HAVE_LOCALE_H
#include <locale.h>
@@ -555,12 +556,12 @@ handle_constant (JCF *jcf, int index, enum cpool_tag purpose)
case CONSTANT_Long:
index = handle_long_constant (jcf, cpool, CONSTANT_Long, index,
- WORDS_BIG_ENDIAN);
+ targetm.words_big_endian ());
break;
case CONSTANT_Double:
index = handle_long_constant (jcf, cpool, CONSTANT_Double, index,
- FLOAT_WORDS_BIG_ENDIAN);
+ targetm.float_words_big_endian ());
break;
case CONSTANT_Float:
@@ -1071,7 +1072,7 @@ get_constant (JCF *jcf, int index)
hi = JPOOL_UINT (jcf, index);
lo = JPOOL_UINT (jcf, index+1);
- if (FLOAT_WORDS_BIG_ENDIAN)
+ if (targetm.float_words_big_endian ())
buf[0] = hi, buf[1] = lo;
else
buf[0] = lo, buf[1] = hi;