diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-03 21:10:09 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-03 21:10:09 +0000 |
commit | 4268f174a342afb4108ba0718c302c349d53128f (patch) | |
tree | 95ce10820dcdc63db9f1448b54fe058ae5559247 /gcc/real.c | |
parent | ba403b8ee3c4394c51bfdf6539169e5c79957bed (diff) | |
download | gcc-4268f174a342afb4108ba0718c302c349d53128f.tar.gz |
* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
tree.c, config/m68k/m68k.c, f/com.c, f/target.h, java/expr.c,
java/jcf-parse.c, java/lex.c:
Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
REAL_ARITHMETIC blocks unconditional. Delete some further
#ifdef blocks predicated on REAL_ARITHMETIC.
* flags.h, toplev.c: Delete remaining references to
flag_pretend_float.
* doc/invoke.texi: Remove documentation of -fpretend-float.
* doc/tm.texi: Describe the various REAL_* macros as provided by
real.h, not by the target configuration files.
* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
config/xtensa/xtensa.h:
Do not define, undefine, or mention in comments any of
REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50263 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/real.c')
-rw-r--r-- | gcc/real.c | 60 |
1 files changed, 2 insertions, 58 deletions
diff --git a/gcc/real.c b/gcc/real.c index 7b8879b8764..559cb058cc7 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -30,19 +30,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA /* To enable support of XFmode extended real floating point, define LONG_DOUBLE_TYPE_SIZE 96 in the tm.h file (m68k.h or i386.h). -To support cross compilation between IEEE, VAX and IBM floating -point formats, define REAL_ARITHMETIC in the tm.h file. - -In either case the machine files (tm.h) must not contain any code +Machine files (tm.h etc) must not contain any code that tries to use host floating point arithmetic to convert REAL_VALUE_TYPEs from `double' to `float', pass them to fprintf, etc. In cross-compile situations a REAL_VALUE_TYPE may not be intelligible to the host computer's native arithmetic. -The emulator defaults to the host's floating point format so that -its decimal conversion functions can be used if desired (see -real.h). - The first part of this file interfaces gcc to a floating point arithmetic suite that was not written with gcc in mind. Avoid changing the low-level arithmetic routines unless you have suitable @@ -88,10 +81,7 @@ netlib.att.com: netlib/cephes. */ If LONG_DOUBLE_TYPE_SIZE = 64 (the default, unless tm.h defines it) then `long double' and `double' are both implemented, but they - both mean DFmode. In this case, the software floating-point - support available here is activated by writing - #define REAL_ARITHMETIC - in tm.h. + both mean DFmode. The case LONG_DOUBLE_TYPE_SIZE = 128 activates TFmode support and may deactivate XFmode since `long double' is used to refer @@ -113,10 +103,6 @@ netlib.att.com: netlib/cephes. */ /* The following converts gcc macros into the ones used by this file. */ -/* REAL_ARITHMETIC defined means that macros in real.h are - defined to call emulator functions. */ -#ifdef REAL_ARITHMETIC - #if TARGET_FLOAT_FORMAT == VAX_FLOAT_FORMAT /* PDP-11, Pro350, VAX: */ #define DEC 1 @@ -142,33 +128,6 @@ unknown arithmetic type #define REAL_WORDS_BIG_ENDIAN FLOAT_WORDS_BIG_ENDIAN -#else -/* REAL_ARITHMETIC not defined means that the *host's* data - structure will be used. It may differ by endian-ness from the - target machine's structure and will get its ends swapped - accordingly (but not here). Probably only the decimal <-> binary - functions in this file will actually be used in this case. */ - -#if HOST_FLOAT_FORMAT == VAX_FLOAT_FORMAT -#define DEC 1 -#else /* it's not VAX */ -#if HOST_FLOAT_FORMAT == IBM_FLOAT_FORMAT -/* IBM System/370 style */ -#define IBM 1 -#else /* it's also not an IBM */ -#if HOST_FLOAT_FORMAT == IEEE_FLOAT_FORMAT -#define IEEE -#else /* it's not IEEE either */ -unknown arithmetic type -#define UNK 1 -#endif /* not IEEE */ -#endif /* not IBM */ -#endif /* not VAX */ - -#define REAL_WORDS_BIG_ENDIAN HOST_FLOAT_WORDS_BIG_ENDIAN - -#endif /* REAL_ARITHMETIC not defined */ - /* Define INFINITY for support of infinity. Define NANS for support of Not-a-Number's (NaN's). */ #if !defined(DEC) && !defined(IBM) && !defined(C4X) @@ -290,7 +249,6 @@ typedef unsigned int UHItype __attribute__ ((mode (HI))); #define NE 6 #define MAXDECEXP 4932 #define MINDECEXP -4956 -#ifdef REAL_ARITHMETIC /* Emulator uses target format internally but host stores it in host endian-ness. */ @@ -324,13 +282,6 @@ do { \ } \ } while (0) -#else /* not REAL_ARITHMETIC */ - -/* emulator uses host format */ -#define GET_REAL(r,e) e53toe ((const UEMUSHORT *) (r), (e)) -#define PUT_REAL(e,r) etoe53 ((e), (UEMUSHORT *) (r)) - -#endif /* not REAL_ARITHMETIC */ #endif /* not TFmode */ #endif /* not XFmode */ @@ -1048,11 +999,6 @@ ereal_ldexp (x, n) return (r); } -/* These routines are conditionally compiled because functions - of the same names may be defined in fold-const.c. */ - -#ifdef REAL_ARITHMETIC - /* Check for infinity in a REAL_VALUE_TYPE. */ int @@ -1226,7 +1172,6 @@ exact_real_inverse (mode, r) PUT_REAL (einv, r); return 1; } -#endif /* REAL_ARITHMETIC defined */ /* Used for debugging--print the value of R in human-readable format on stderr. */ @@ -1361,7 +1306,6 @@ ereal_isneg (x) return (eisneg (ex)); } -/* End of REAL_ARITHMETIC interface */ /* Extended precision IEEE binary floating point arithmetic routines |