include:
2007-11-07 Joseph Myers <joseph@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> * floatformat.h (struct floatformat): Add split_half field. (floatformat_ibm_long_double): New. libiberty: 2007-11-07 Joseph Myers <joseph@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> * floatformat.c (mant_bits_set): New. (floatformat_to_double): Use it. Note no special handling of split formats. (floatformat_from_double): Note no special handing of split formats. (floatformat_ibm_long_double_is_valid, floatformat_ibm_long_double): New. (floatformat_ieee_single_big, floatformat_ieee_single_little, floatformat_ieee_double_big, floatformat_ieee_double_little, floatformat_ieee_double_littlebyte_bigword, floatformat_vax_f, floatformat_vax_d, floatformat_vax_g, floatformat_i387_ext, floatformat_m68881_ext, floatformat_i960_ext, floatformat_m88110_ext, floatformat_m88110_harris_ext, floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword, floatformat_ia64_spill_big, floatformat_ia64_spill_little, floatformat_ia64_quad_big, floatformat_ia64_quad_little): Update for addition of split_half field. gdb: 2007-11-07 Joseph Myers <joseph@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> * gdbtypes.c (floatformats_ibm_long_double): New. * gdbtypes.h (floatformats_ibm_long_double): Declare. * ia64-tdep.c (floatformat_ia64_ext): Update for addition of split_half field. * mips-tdep.c (n32n64_floatformat_always_valid, floatformat_n32n64_long_double_big, floatformats_n32n64_long): Remove. (mips_gdbarch_init): Use floatformats_ibm_long_double instead of floatformats_n32n64_long. * ppc-linux-tdep.c (ppc_linux_init_abi): Use 128-bit IBM long double. * doublest.c (convert_floatformat_to_doublest, convert_doublest_to_floatformat): Handle split floating-point formats. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Handle IBM long double arguments. (ppc64_sysv_abi_push_dummy_call): Likewise. (do_ppc_sysv_return_value): Handle IBM long double return.
This commit is contained in:
parent
7b4cad4ae6
commit
33e178064d
|
@ -1,3 +1,9 @@
|
|||
2007-11-07 Joseph Myers <joseph@codesourcery.com>
|
||||
Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* floatformat.h (struct floatformat): Add split_half field.
|
||||
(floatformat_ibm_long_double): New.
|
||||
|
||||
2007-11-05 Danny Smith <dannysmith@users.sourceforge.net>
|
||||
|
||||
* coff/pe.h (COFF_ENCODE_ALIGNMENT) Define.
|
||||
|
|
|
@ -85,6 +85,13 @@ struct floatformat
|
|||
|
||||
/* Validator method. */
|
||||
int (*is_valid) (const struct floatformat *fmt, const void *from);
|
||||
|
||||
/* Is the format actually the sum of two smaller floating point
|
||||
formats (IBM long double, as described in
|
||||
gcc/config/rs6000/darwin-ldouble-format)? If so, this is the
|
||||
smaller format in question, and the fields sign_start through
|
||||
intbit describe the first half. If not, this is NULL. */
|
||||
const struct floatformat *split_half;
|
||||
};
|
||||
|
||||
/* floatformats for IEEE single and double, big and little endian. */
|
||||
|
@ -118,6 +125,8 @@ extern const struct floatformat floatformat_ia64_spill_big;
|
|||
extern const struct floatformat floatformat_ia64_spill_little;
|
||||
extern const struct floatformat floatformat_ia64_quad_big;
|
||||
extern const struct floatformat floatformat_ia64_quad_little;
|
||||
/* IBM long double (double+double). */
|
||||
extern const struct floatformat floatformat_ibm_long_double;
|
||||
|
||||
/* Convert from FMT to a double.
|
||||
FROM is the address of the extended float.
|
||||
|
|
Loading…
Reference in New Issue