summaryrefslogtreecommitdiff
path: root/gcc/libgcc2.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-06-10 13:04:45 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-06-10 13:04:45 +0000
commitd16023de0699a56961db691968b5f0f0f5cbe958 (patch)
treefeccbeb6dcc6c09803e26d337a1329adf7ad8928 /gcc/libgcc2.c
parentc4d3ad69df6c8f8a4e914d69b9d32874bed8bb6d (diff)
downloadgcc-d16023de0699a56961db691968b5f0f0f5cbe958.tar.gz
(_floatdidf): Correctly set float sizes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9920 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r--gcc/libgcc2.c32
1 files changed, 21 insertions, 11 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index b22db4e24f7..fae070f181a 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)