From 8da61cc40ac287bc30919c8648c0f7addc515008 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Mon, 29 Jan 2007 17:31:06 +0000 Subject: * doublest.c (floatformat_from_length): Use the right element from gdbarch floatformats. (floatformat_from_type, extract_typed_floating) (store_typed_floating): Likewise. * doublest.h: Remove declarations for undefined floatformat arrays. * gdbarch.sh (float_format, double_format, long_double_format): Change to pairs. (pformat): Update for pairs. * gdbarch.c, gdbarch.h: Regenerated. * gdbtypes.c (floatformats_ieee_single, floatformats_ieee_double) (floatformats_ieee_double_littlebyte_bigword) (floatformats_i387_ext, floatformats_m68881_ext, floatformats_arm_ext) (floatformats_ia64_spill, floatformats_ia64_quad, floatformats_vax_f) (floatformats_vax_d): New variables. (builtin_type_ieee_single, builtin_type_ieee_double) (builtin_type_arm_ext, builtin_type_ia64_spill) (builtin_type_ia64_quad): Replace arrays with individual types. (builtin_type_ieee_single_big, builtin_type_ieee_single_little) (builtin_type_ieee_double_big, builtin_type_ieee_double_little) (builtin_type_ieee_double_littlebyte_bigword, builtin_type_i960_ext) (builtin_type_m88110_ext, builtin_type_m88110_harris_ext) (builtin_type_arm_ext_big, builtin_type_arm_ext_littlebyte_bigword) (builtin_type_ia64_spill_big, builtin_type_ia64_spill_little) (builtin_type_ia64_quad_big, builtin_type_ia64_quad_little): Delete unused and endian-specific types. (recursive_dump_type): Update for floatformat pairs. (build_flt): Move higher. Handle bit == -1. Take a floatformat pair. (build_gdbtypes): Use build_flt. (_initialize_gdbtypes): Update set of initialized types. * gdbtypes.h: Update declarations to match gdbtypes.c. (struct main_type): Store a pointer to two floatformats. * arch-utils.c (default_float_format, default_double_format): Delete. * arch-utils.h (default_float_format, default_double_format): Delete. * arm-tdep.c, avr-tdep.c, hppa-tdep.c, hppabsd-tdep.c, i386-tdep.c, ia64-tdep.c, iq2000-tdep.c, m68k-tdep.c, m88k-tdep.c, mips-linux-tdep.c, mips-tdep.c, mt-tdep.c, ppcobsd-tdep.c, sparc-linux-tdep.c, sparc-tdep.c, sparcnbsd-tdep.c, spu-tdep.c, vax-tdep.c, alpha-tdep.c, ppc-sysv-tdep.c: Update. --- gdb/ia64-tdep.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gdb/ia64-tdep.c') diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index dfcc024..1aed60d 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -336,6 +336,12 @@ const struct floatformat floatformat_ia64_ext = floatformat_intbit_yes, "floatformat_ia64_ext", floatformat_valid }; +const struct floatformat *floatformats_ia64_ext[2] = +{ + &floatformat_ia64_ext, + &floatformat_ia64_ext +}; + /* Extract ``len'' bits from an instruction bundle starting at bit ``from''. */ @@ -3574,7 +3580,7 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) builtin_type_ia64_ext = init_type (TYPE_CODE_FLT, 128 / 8, 0, "builtin_type_ia64_ext", NULL); - TYPE_FLOATFORMAT (builtin_type_ia64_ext) = &floatformat_ia64_ext; + TYPE_FLOATFORMAT (builtin_type_ia64_ext) = floatformats_ia64_ext; /* According to the ia64 specs, instructions that store long double floats in memory use a long-double format different than that @@ -3584,7 +3590,7 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) format for storing long doubles (e.g. HPUX). In the latter case, the setting of the format may be moved/overridden in an OS-specific tdep file. */ - set_gdbarch_long_double_format (gdbarch, &floatformat_i387_ext); + set_gdbarch_long_double_format (gdbarch, floatformats_i387_ext); set_gdbarch_short_bit (gdbarch, 16); set_gdbarch_int_bit (gdbarch, 32); -- cgit v1.1