ieeefp.h: Handle ARM platforms that have pure-endian floating point.
authorRichard Earnshaw <rearnsha@arm.com>
Wed, 16 Apr 2003 18:32:06 +0000 (18:32 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Wed, 16 Apr 2003 18:32:06 +0000 (18:32 +0000)
* java/lang/ieeefp.h: Handle ARM platforms that have pure-endian
floating point.

From-SVN: r65693

libjava/ChangeLog
libjava/java/lang/ieeefp.h

index 3fe91a3c20f18c77acff0da2b4eae78cbfac666f..350bef96f8b43009dc2d303b7810bd39958cca31 100644 (file)
@@ -1,3 +1,8 @@
+2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
+
+       * java/lang/ieeefp.h: Handle ARM platforms that have pure-endian
+       floating point.
+
 2003-04-15  Jakub Jelinek  <jakub@redhat.com>
 
        * configure.host (*-linux*): Don't set slow_pthread_self if primary
index fc56de0b37943f67da6fa8e08538abce462dad28..2bef69568cc2092964d02a12fccabd8c0971d232 100644 (file)
@@ -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