diff options
author | Steve Ellcey <sje@cup.hp.com> | 2005-02-25 21:34:49 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2005-02-25 21:34:49 +0000 |
commit | 4e9db8b235cf8f9bf7b17a9ab0498c97a5dca84d (patch) | |
tree | 2ce5281f930f8cb8c41a76ab51c238a6db47ff1f /gcc/libgcc2.h | |
parent | 736c86ad8305637ba08f5c78a13c749dba13bffc (diff) | |
download | gcc-4e9db8b235cf8f9bf7b17a9ab0498c97a5dca84d.zip gcc-4e9db8b235cf8f9bf7b17a9ab0498c97a5dca84d.tar.gz gcc-4e9db8b235cf8f9bf7b17a9ab0498c97a5dca84d.tar.bz2 |
re PR target/19930 (gcc.dg/pr19402-2.c fails on ia64-hpux)
PR target/19930
* doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
(LIBGCC2_HAS_DF_MODE): New.
(LIBGCC2_HAS_XF_MODE): New.
(LIBGCC2_HAS_TF_MODE): New.
* libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
* libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
(LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
* config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
and add _fixtfdi, _fixunstfdi, _floatditf
* lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
L_fixunstfdi, L_floatditf.
* config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
(LIBGCC2_HAS_TF_MODE): Define.
From-SVN: r95548
Diffstat (limited to 'gcc/libgcc2.h')
-rw-r--r-- | gcc/libgcc2.h | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/gcc/libgcc2.h b/gcc/libgcc2.h index 0a08f51..d1df220 100644 --- a/gcc/libgcc2.h +++ b/gcc/libgcc2.h @@ -58,6 +58,19 @@ extern short int __get_eh_table_version (struct exception_descriptor *); #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE LONG_DOUBLE_TYPE_SIZE #endif +#ifndef LIBGCC2_HAS_DF_MODE +#define LIBGCC2_HAS_DF_MODE \ + (LIBGCC2_DOUBLE_TYPE_SIZE == 64 || LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 64) +#endif + +#ifndef LIBGCC2_HAS_XF_MODE +#define LIBGCC2_HAS_XF_MODE (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 80) +#endif + +#ifndef LIBGCC2_HAS_TF_MODE +#define LIBGCC2_HAS_TF_MODE (LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128) +#endif + #ifndef MIN_UNITS_PER_WORD #define MIN_UNITS_PER_WORD UNITS_PER_WORD #endif @@ -96,18 +109,15 @@ typedef unsigned int UTItype __attribute__ ((mode (TI))); typedef float SFtype __attribute__ ((mode (SF))); typedef _Complex float SCtype __attribute__ ((mode (SC))); -#if LIBGCC2_DOUBLE_TYPE_SIZE == 64 || LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 64 -#define HAVE_DFMODE +#if LIBGCC2_HAS_DF_MODE typedef float DFtype __attribute__ ((mode (DF))); typedef _Complex float DCtype __attribute__ ((mode (DC))); #endif -#if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 80 -#define HAVE_XFMODE +#if LIBGCC2_HAS_XF_MODE typedef float XFtype __attribute__ ((mode (XF))); typedef _Complex float XCtype __attribute__ ((mode (XC))); #endif -#if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128 -#define HAVE_TFMODE +#if LIBGCC2_HAS_TF_MODE typedef float TFtype __attribute__ ((mode (TF))); typedef _Complex float TCtype __attribute__ ((mode (TC))); #endif @@ -329,7 +339,7 @@ extern SFtype __powisf2 (SFtype, Wtype); extern SCtype __divsc3 (SFtype, SFtype, SFtype, SFtype); extern SCtype __mulsc3 (SFtype, SFtype, SFtype, SFtype); -#ifdef HAVE_DFMODE +#if LIBGCC2_HAS_DF_MODE extern DWtype __fixdfdi (DFtype); extern DFtype __floatdidf (DWtype); extern UWtype __fixunsdfSI (DFtype); @@ -339,7 +349,7 @@ extern DCtype __divdc3 (DFtype, DFtype, DFtype, DFtype); extern DCtype __muldc3 (DFtype, DFtype, DFtype, DFtype); #endif -#ifdef HAVE_XFMODE +#if LIBGCC2_HAS_XF_MODE extern DWtype __fixxfdi (XFtype); extern DWtype __fixunsxfDI (XFtype); extern XFtype __floatdixf (DWtype); @@ -349,7 +359,7 @@ extern XCtype __divxc3 (XFtype, XFtype, XFtype, XFtype); extern XCtype __mulxc3 (XFtype, XFtype, XFtype, XFtype); #endif -#ifdef HAVE_TFMODE +#if LIBGCC2_HAS_TF_MODE extern DWtype __fixunstfDI (TFtype); extern DWtype __fixtfdi (TFtype); extern TFtype __floatditf (DWtype); |