===================================================================
@@ -129,9 +129,21 @@
#define NO_DI_MODE
#endif
+/* Allow the target the chance to specify whether
+ the bit order matches the byte order. */
+#if defined LIBGCC2_FLOAT_BIT_ORDER_MISMATCH
+/* Evaluate the expression - it might be zero. */
+#if LIBGCC2_FLOAT_BIT_ORDER_MISMATCH
+#define FLOAT_BIT_ORDER_MISMATCH
+#else
+#undef FLOAT_BIT_ORDER_MISMATCH
+#endif
+#else
+/* Otherwise assume that the bits within a byte are in big endian order. */
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define FLOAT_BIT_ORDER_MISMATCH
#endif
+#endif
#if __BYTE_ORDER__ != __FLOAT_WORD_ORDER__
#define FLOAT_WORD_ORDER_MISMATCH
===================================================================
@@ -1,5 +1,10 @@
-#ifndef __RX_64BIT_DOUBLES__
+#if defined __RX_64BIT_DOUBLES__
+#undef FLOAT_ONLY
+#elif defined __RX_32BIT_DOUBLES__
#define DF SF
#define FLOAT_ONLY
+#else
+#error "RX double size not defined"
#endif
+#define LIBGCC2_FLOAT_BIT_ORDER_MISMATCH 0