diff options
author | Richard Sandiford <richard@codesourcery.com> | 2006-05-19 08:05:39 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2006-05-19 08:05:39 +0000 |
commit | baffad1f3d30a473263e56f86b1420dbc7371ab3 (patch) | |
tree | cf643de5bba2d973c8fea4043b4125197d2df44c /gcc/config/floatditf.c | |
parent | 41990f964687332cd2ea2ad59a02c18ed499db6c (diff) | |
download | gcc-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.c | 25 |
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 - |