summaryrefslogtreecommitdiffstats
path: root/libjava/java
diff options
context:
space:
mode:
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-16 18:32:06 +0000
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-16 18:32:06 +0000
commit3131cea97083e47599ec1b68a8fb2444f8b5a897 (patch)
tree9b00cff916af6a69e255832096b59dc39baa7f1a /libjava/java
parentc3e8c7fefa43e558f470d5beac8400f8c1616480 (diff)
downloadppe42-gcc-3131cea97083e47599ec1b68a8fb2444f8b5a897.tar.gz
ppe42-gcc-3131cea97083e47599ec1b68a8fb2444f8b5a897.zip
* java/lang/ieeefp.h: Handle ARM platforms that have pure-endian
floating point. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65693 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/ieeefp.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/libjava/java/lang/ieeefp.h b/libjava/java/lang/ieeefp.h
index fc56de0b379..2bef69568cc 100644
--- a/libjava/java/lang/ieeefp.h
+++ b/libjava/java/lang/ieeefp.h
@@ -6,13 +6,23 @@
#endif
#if defined(__arm__) || defined(__thumb__)
-/* ARM always has big-endian words. Within those words the byte ordering
- will be big or little endian depending upon the target. */
+/* ARM traditionally used big-endian words; and within those words the
+ byte ordering was big or little endian depending upon the target.
+ Modern floating-point formats are naturally ordered; in this case
+ __VFP_FP__ will be defined, even if soft-float. */
+#ifdef __VFP_FP__
+#ifdef __ARMEL__
+#define __IEEE_LITTLE_ENDIAN
+#else
+#define __IEEE_BIG_ENDIAN
+#endif
+#else
#define __IEEE_BIG_ENDIAN
#ifdef __ARMEL__
#define __IEEE_BYTES_LITTLE_ENDIAN
#endif
#endif
+#endif
#ifdef __hppa__
#define __IEEE_BIG_ENDIAN
OpenPOWER on IntegriCloud