From: Richard Earnshaw Date: Wed, 16 Apr 2003 18:32:06 +0000 (+0000) Subject: ieeefp.h: Handle ARM platforms that have pure-endian floating point. X-Git-Tag: releases/gcc-3.4.0~7249 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bc617f8a484b8682384f2e9a7a2f68522180fc1c;p=thirdparty%2Fgcc.git ieeefp.h: Handle ARM platforms that have pure-endian floating point. * java/lang/ieeefp.h: Handle ARM platforms that have pure-endian floating point. From-SVN: r65693 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 3fe91a3c20f1..350bef96f8b4 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2003-04-16 Richard Earnshaw + + * java/lang/ieeefp.h: Handle ARM platforms that have pure-endian + floating point. + 2003-04-15 Jakub Jelinek * configure.host (*-linux*): Don't set slow_pthread_self if primary diff --git a/libjava/java/lang/ieeefp.h b/libjava/java/lang/ieeefp.h index fc56de0b3794..2bef69568cc2 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