aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/floatditf.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2006-05-19 08:05:39 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2006-05-19 08:05:39 +0000
commitbaffad1f3d30a473263e56f86b1420dbc7371ab3 (patch)
treecf643de5bba2d973c8fea4043b4125197d2df44c /gcc/config/floatditf.c
parent41990f964687332cd2ea2ad59a02c18ed499db6c (diff)
downloadgcc-baffad1f3d30a473263e56f86b1420dbc7371ab3.zip
gcc-baffad1f3d30a473263e56f86b1420dbc7371ab3.tar.gz
gcc-baffad1f3d30a473263e56f86b1420dbc7371ab3.tar.bz2
re PR target/22209 (libgfortran unresolvable symbols on irix6.5)
* libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from libgcc2.h. (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD. * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here. Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to determine the size of Wtype, etc. * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument. (swfloatfuncs): New variable. (dwfloatfuncs): Likewise. (lib2funcs): Remove floating-point conversion functions from initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine the set of conversion routines needed. Allow entries to specify an object name, filename and word size. Update users accordingly. * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS. * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define. Revert: 2006-02-08 Roger Sayle <roger@eyesopen.com> PR target/22209 * config/fixtfdi.c: New libgcc source file. * config/fixunstfdi.c: New source file. * config/floatditf.c: New source file. * config/floatunditf.c: New souce file. * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source files above instead of config/mips/_tilib.c. * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. From-SVN: r113903
Diffstat (limited to 'gcc/config/floatditf.c')
-rw-r--r--gcc/config/floatditf.c25
1 files changed, 0 insertions, 25 deletions
diff --git a/gcc/config/floatditf.c b/gcc/config/floatditf.c
deleted file mode 100644
index 9671ac7..0000000
--- a/gcc/config/floatditf.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Public domain. */
-#if __LDBL_MANT_DIG__ == 106 || __LDBL_MANT_DIG__ == 113
-typedef int DItype __attribute__ ((mode (DI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef float TFtype __attribute__ ((mode (TF)));
-
-TFtype __floatditf (UDItype);
-
-TFtype
-__floatditf (UDItype u)
-{
- DFtype dh, dl;
-
- dh = (SItype) (u >> (sizeof (SItype) * 8));
- dh *= 2.0 * (((UDItype) 1) << ((sizeof (SItype) * 8) - 1));
- dl = (USItype) (u & ((((UDItype) 1) << (sizeof (SItype) * 8)) - 1));
-
- return (TFtype) dh + (TFtype) dl;
-}
-
-#endif
-