OSDN Git Service

* real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Mar 2002 01:10:56 +0000 (01:10 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Mar 2002 01:10:56 +0000 (01:10 +0000)
commitbadfe8419cab4c6f076ec57c6010b8061a45cab3
tree3cb5ef5e8709f7285a36ca4c6896bc2b548fdba6
parentfd8547ca34907c6e4d9c4526fe09d45fc8a3c8bb
* real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
Always make REAL_VALUE_TYPE a struct containing an array of
HOST_WIDE_INT, not a double.  Tidy up the code deciding how
big it is.  Don't declare or use union real_extract.

* emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
decode_rtx_const, output_constant_pool), config/a29k/a29k.c
(print_operand), config/arm/arm.c (output_move_double),
config/arm/arm.md (consttable_4, consttable_8),
config/romp/romp.c (output_fpops), config/s390/s390.h
(ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
(xtensa_output_literal): Don't use union real_extract.

* config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
(sfmode_constant_to_ulong), config/ns32k/merlin.h
(PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
(PRINT_OPERAND): Don't use local version of union
real_extract.

* config/convex/convex.c (check_float_value), config/vax/vax.c
(vax_float_literal), config/m88k/m88k.md (divdf3),
config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
config/pdp11/pdp11.c (output_move_quad): Don't do host
arithmetic on target floating point quantities.

* config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
(output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.

* fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.

* real.c (earith): Test INFINITY rather than REAL_INFINITY;
NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
INFINITY.
* print-rtl.c (print_rtx): Disable code which needs
floating-point emulator.
* libgcc2.c: Include float.h and use DBL_MANT_DIG,
FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
depending on HOST_FLOAT_FORMAT to be defined properly.

* ch/grant.c, cp/error.c: Always use REAL_VALUE_TO_DECIMAL;
don't test REAL_IS_NOT_DOUBLE.

* config/1750a/1750a.c (get_double, float_label): Delete.
(print_operand): Delete huge commented-out chunk.  Use
REAL_VALUE_TO_DECIMAL.
* config/1750a/1750a-protos.h: Delete prototypes of deleted
functions.
* config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
IEEE_FLOAT_FORMAT.
* config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
Use REAL_VALUE_TO_DECIMAL as ELF version does.
* config/m88k/m88k.c (real_power_of_2_operand,
legitimize_operand): Take the REAL_VALUE_TYPE and/or union
real_extract out of the union; run the input through
REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
from that into the union.
* config/pdp11/pdp11.c (output_move_double): Rearrange
parentheses to make automatic indenter happy.

* doc/tm.texi (Cross-compilation): Rename node to "Floating
Point" and rewrite to describe current situation.  Also adjust
documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
match code.
* doc/rtl.texi: Adjust cross reference.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51210 138bc75d-0d04-0410-961f-82ee72b054a4
38 files changed:
gcc/ChangeLog
gcc/ch/ChangeLog
gcc/ch/grant.c
gcc/config/1750a/1750a-protos.h
gcc/config/1750a/1750a.c
gcc/config/a29k/a29k.c
gcc/config/a29k/a29k.md
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/config/convex/convex.c
gcc/config/convex/convex.h
gcc/config/dsp16xx/dsp16xx.c
gcc/config/dsp16xx/dsp16xx.md
gcc/config/i370/i370.h
gcc/config/i860/i860.c
gcc/config/m88k/m88k.c
gcc/config/m88k/m88k.md
gcc/config/ns32k/merlin.h
gcc/config/ns32k/ns32k.c
gcc/config/pdp11/pdp11.c
gcc/config/pdp11/pdp11.h
gcc/config/romp/romp.c
gcc/config/s390/s390.h
gcc/config/vax/vax.c
gcc/config/we32k/we32k.h
gcc/config/xtensa/xtensa.c
gcc/cp/ChangeLog
gcc/cp/error.c
gcc/doc/rtl.texi
gcc/doc/tm.texi
gcc/emit-rtl.c
gcc/fold-const.c
gcc/libgcc2.c
gcc/print-rtl.c
gcc/real.c
gcc/real.h
gcc/simplify-rtx.c
gcc/varasm.c