aboutsummaryrefslogtreecommitdiff
path: root/gcc/libgcc2.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@gcc.gnu.org>1999-01-19 12:03:01 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>1999-01-19 12:03:01 +0000
commiteaa4b44cfc6743304718f03b61c8c3ef9ec91d0b (patch)
treeed369eff236e0ae27f442c15fba0966a72f573b4 /gcc/libgcc2.c
parent60409070a6daca63bbb2be39cefe8692e96ad952 (diff)
downloadgcc-eaa4b44cfc6743304718f03b61c8c3ef9ec91d0b.zip
gcc-eaa4b44cfc6743304718f03b61c8c3ef9ec91d0b.tar.gz
gcc-eaa4b44cfc6743304718f03b61c8c3ef9ec91d0b.tar.bz2
[multiple changes]
1999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com> * invoke.texi (-mlong-double-64): New option description. 1999-01-19 Jim Wilson <wilson@cygnus.com> * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to LIBGCC2_LONG_DOUBLE_TYPE_SIZE. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New. Set to LONG_DOUBLE_TYPE_SIZE if not defined. * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics. (CPP_SPECS): Add -mlong-double-64 support. (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New. (TARGET_SWITCHES): Add -mlong-double-64 support. (LONG_DOUBLE_TYPE_SIZE): Likewise. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define. * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float. (CPP_SPECS): Add -mlong-double-64 support. * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64. (MULTILIB_DIRNAMES): Add ld64. * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise. From-SVN: r24764
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r--gcc/libgcc2.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index 0275525..b06b771 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -72,6 +72,10 @@ Boston, MA 02111-1307, USA. */
#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN
#endif
+#ifndef LIBGCC2_LONG_DOUBLE_TYPE_SIZE
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE LONG_DOUBLE_TYPE_SIZE
+#endif
+
/* In the first part of this file, we are interfacing to calls generated
by the compiler itself. These calls pass values into these routines
which have very specific modes (rather than very specific types), and
@@ -90,10 +94,10 @@ typedef unsigned int UDItype __attribute__ ((mode (DI)));
typedef float SFtype __attribute__ ((mode (SF)));
typedef float DFtype __attribute__ ((mode (DF)));
-#if LONG_DOUBLE_TYPE_SIZE == 96
+#if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96
typedef float XFtype __attribute__ ((mode (XF)));
#endif
-#if LONG_DOUBLE_TYPE_SIZE == 128
+#if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128
typedef float TFtype __attribute__ ((mode (TF)));
#endif
@@ -144,10 +148,10 @@ typedef union
extern DItype __fixunssfdi (SFtype a);
extern DItype __fixunsdfdi (DFtype a);
-#if LONG_DOUBLE_TYPE_SIZE == 96
+#if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96
extern DItype __fixunsxfdi (XFtype a);
#endif
-#if LONG_DOUBLE_TYPE_SIZE == 128
+#if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128
extern DItype __fixunstfdi (TFtype a);
#endif
@@ -768,7 +772,7 @@ __ucmpdi2 (DItype a, DItype b)
}
#endif
-#if defined(L_fixunstfdi) && (LONG_DOUBLE_TYPE_SIZE == 128)
+#if defined(L_fixunstfdi) && (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128)
#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
@@ -800,7 +804,7 @@ __fixunstfdi (TFtype a)
}
#endif
-#if defined(L_fixtfdi) && (LONG_DOUBLE_TYPE_SIZE == 128)
+#if defined(L_fixtfdi) && (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128)
DItype
__fixtfdi (TFtype a)
{
@@ -810,7 +814,7 @@ __fixtfdi (TFtype a)
}
#endif
-#if defined(L_fixunsxfdi) && (LONG_DOUBLE_TYPE_SIZE == 96)
+#if defined(L_fixunsxfdi) && (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96)
#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
@@ -842,7 +846,7 @@ __fixunsxfdi (XFtype a)
}
#endif
-#if defined(L_fixxfdi) && (LONG_DOUBLE_TYPE_SIZE == 96)
+#if defined(L_fixxfdi) && (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96)
DItype
__fixxfdi (XFtype a)
{
@@ -940,7 +944,7 @@ __fixsfdi (SFtype a)
}
#endif
-#if defined(L_floatdixf) && (LONG_DOUBLE_TYPE_SIZE == 96)
+#if defined(L_floatdixf) && (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96)
#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
#define HIGH_HALFWORD_COEFF (((UDItype) 1) << (WORD_SIZE / 2))
#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
@@ -959,7 +963,7 @@ __floatdixf (DItype u)
}
#endif
-#if defined(L_floatditf) && (LONG_DOUBLE_TYPE_SIZE == 128)
+#if defined(L_floatditf) && (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128)
#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
#define HIGH_HALFWORD_COEFF (((UDItype) 1) << (WORD_SIZE / 2))
#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
@@ -1065,7 +1069,7 @@ __floatdisf (DItype u)
}
#endif
-#if defined(L_fixunsxfsi) && LONG_DOUBLE_TYPE_SIZE == 96
+#if defined(L_fixunsxfsi) && LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96
/* Reenable the normal types, in case limits.h needs them. */
#undef char
#undef short