aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-06-10 09:04:45 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-06-10 09:04:45 -0400
commitcac896d8dea98fade627cfd60438ff428e1a323f (patch)
treefeccbeb6dcc6c09803e26d337a1329adf7ad8928 /gcc
parent92d6875bdd88f24c95b86c2425ae5276ca302994 (diff)
downloadgcc-cac896d8dea98fade627cfd60438ff428e1a323f.zip
gcc-cac896d8dea98fade627cfd60438ff428e1a323f.tar.gz
gcc-cac896d8dea98fade627cfd60438ff428e1a323f.tar.bz2
(_floatdidf): Correctly set float sizes.
From-SVN: r9920
Diffstat (limited to 'gcc')
-rw-r--r--gcc/libgcc2.c32
1 files changed, 21 insertions, 11 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index b22db4e..fae070f 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -997,24 +997,34 @@ __floatdidf (u)
#define HIGH_HALFWORD_COEFF (((UDItype) 1) << (WORD_SIZE / 2))
#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
#define DI_SIZE (sizeof (DItype) * BITS_PER_UNIT)
-#if TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT
+
+/* Define codes for all the float formats that we know of. Note
+ that this is copied from real.h. */
+
+#define UNKNOWN_FLOAT_FORMAT 0
+#define IEEE_FLOAT_FORMAT 1
+#define VAX_FLOAT_FORMAT 2
+#define IBM_FLOAT_FORMAT 3
+
+/* Default to IEEE float if not specified. Nearly all machines use it. */
+#ifndef HOST_FLOAT_FORMAT
+#define HOST_FLOAT_FORMAT IEEE_FLOAT_FORMAT
+#endif
+
+#if HOST_FLOAT_FORMAT == IEEE_FLOAT_FORMAT
#define DF_SIZE 53
#define SF_SIZE 24
-#else
-#if TARGET_FLOAT_FORMAT == IBM_FLOAT_FORMAT
+#endif
+
+#if HOST_FLOAT_FORMAT == IBM_FLOAT_FORMAT
#define DF_SIZE 56
#define SF_SIZE 24
-#else
-#if TARGET_FLOAT_FORMAT == VAX_FLOAT_FORMAT
+#endif
+
+#if HOST_FLOAT_FORMAT == VAX_FLOAT_FORMAT
#define DF_SIZE 56
#define SF_SIZE 24
-#else
-#define DF_SIZE 0
-#define SF_SIZE 0
#endif
-#endif
-#endif
-
SFtype
__floatdisf (u)