aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog26
-rw-r--r--gdb/gdbtypes.c68
-rw-r--r--gdb/gdbtypes.h18
3 files changed, 112 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c71b88c..c92f035 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,29 @@
+2001-08-21 Andrew Cagney <ac131313@redhat.com>
+
+ * gdbtypes.h (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_i387_ext, builtin_type_m68881_ext)
+ (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): Declare.
+ * gdbtypes.c (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_i387_ext, builtin_type_m68881_ext)
+ (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): Define.
+ (_initialize_gdbtypes): Initialize builtin floatformat types.
+
2001-08-23 Mark Kettenis <kettenis@gnu.org>
* tracepoint.c (read_actions): Add FIXME for code depending on
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 5c9e6cf..f15d10e 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -73,6 +73,22 @@ struct type *builtin_type_v4si;
struct type *builtin_type_v8qi;
struct type *builtin_type_v4hi;
struct type *builtin_type_v2si;
+struct type *builtin_type_ieee_single_big;
+struct type *builtin_type_ieee_single_little;
+struct type *builtin_type_ieee_double_big;
+struct type *builtin_type_ieee_double_little;
+struct type *builtin_type_ieee_double_littlebyte_bigword;
+struct type *builtin_type_i387_ext;
+struct type *builtin_type_m68881_ext;
+struct type *builtin_type_i960_ext;
+struct type *builtin_type_m88110_ext;
+struct type *builtin_type_m88110_harris_ext;
+struct type *builtin_type_arm_ext_big;
+struct type *builtin_type_arm_ext_littlebyte_bigword;
+struct type *builtin_type_ia64_spill_big;
+struct type *builtin_type_ia64_spill_little;
+struct type *builtin_type_ia64_quad_big;
+struct type *builtin_type_ia64_quad_little;
struct type *builtin_type_void_data_ptr;
struct type *builtin_type_void_func_ptr;
struct type *builtin_type_CORE_ADDR;
@@ -3030,6 +3046,58 @@ _initialize_gdbtypes (void)
REGISTER_GDBARCH_SWAP (builtin_type_bfd_vma);
register_gdbarch_swap (NULL, 0, build_gdbtypes);
+ /* Note: These types do not need to be swapped - they are target
+ neutral. */
+ builtin_type_ieee_single_big =
+ init_type (TYPE_CODE_FLT, floatformat_ieee_single_big.totalsize / 8,
+ 0, "builtin_type_ieee_single_big", NULL);
+ TYPE_FLOATFORMAT (builtin_type_ieee_single_big) = &floatformat_ieee_single_big;
+ builtin_type_ieee_single_little =
+ init_type (TYPE_CODE_FLT, floatformat_ieee_single_little.totalsize / 8,
+ 0, "builtin_type_ieee_single_little", NULL);
+ builtin_type_ieee_double_big =
+ init_type (TYPE_CODE_FLT, floatformat_ieee_double_big.totalsize / 8,
+ 0, "builtin_type_ieee_double_big", NULL);
+ builtin_type_ieee_double_little =
+ init_type (TYPE_CODE_FLT, floatformat_ieee_double_little.totalsize / 8,
+ 0, "builtin_type_ieee_double_little", NULL);
+ builtin_type_ieee_double_littlebyte_bigword =
+ init_type (TYPE_CODE_FLT, floatformat_ieee_double_littlebyte_bigword.totalsize / 8,
+ 0, "builtin_type_ieee_double_littlebyte_bigword", NULL);
+ builtin_type_i387_ext =
+ init_type (TYPE_CODE_FLT, floatformat_i387_ext.totalsize / 8,
+ 0, "builtin_type_i387_ext", NULL);
+ builtin_type_m68881_ext =
+ init_type (TYPE_CODE_FLT, floatformat_m68881_ext.totalsize / 8,
+ 0, "builtin_type_m68881_ext", NULL);
+ builtin_type_i960_ext =
+ init_type (TYPE_CODE_FLT, floatformat_i960_ext.totalsize / 8,
+ 0, "builtin_type_i960_ext", NULL);
+ builtin_type_m88110_ext =
+ init_type (TYPE_CODE_FLT, floatformat_m88110_ext.totalsize / 8,
+ 0, "builtin_type_m88110_ext", NULL);
+ builtin_type_m88110_harris_ext =
+ init_type (TYPE_CODE_FLT, floatformat_m88110_harris_ext.totalsize / 8,
+ 0, "builtin_type_m88110_harris_ext", NULL);
+ builtin_type_arm_ext_big =
+ init_type (TYPE_CODE_FLT, floatformat_arm_ext_big.totalsize / 8,
+ 0, "builtin_type_arm_ext_big", NULL);
+ builtin_type_arm_ext_littlebyte_bigword =
+ init_type (TYPE_CODE_FLT, floatformat_arm_ext_littlebyte_bigword.totalsize / 8,
+ 0, "builtin_type_arm_ext_littlebyte_bigword", NULL);
+ builtin_type_ia64_spill_big =
+ init_type (TYPE_CODE_FLT, floatformat_ia64_spill_big.totalsize / 8,
+ 0, "builtin_type_ia64_spill_big", NULL);
+ builtin_type_ia64_spill_little =
+ init_type (TYPE_CODE_FLT, floatformat_ia64_spill_little.totalsize / 8,
+ 0, "builtin_type_ia64_spill_little", NULL);
+ builtin_type_ia64_quad_big =
+ init_type (TYPE_CODE_FLT, floatformat_ia64_quad_big.totalsize / 8,
+ 0, "builtin_type_ia64_quad_big", NULL);
+ builtin_type_ia64_quad_little =
+ init_type (TYPE_CODE_FLT, floatformat_ia64_quad_little.totalsize / 8,
+ 0, "builtin_type_ia64_quad_little", NULL);
+
add_show_from_set (
add_set_cmd ("overload", no_class, var_zinteger, (char *) &overload_debug,
"Set debugging of C++ overloading.\n\
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 4d47112..17f00ce 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -894,6 +894,24 @@ extern struct type *builtin_type_v8qi;
extern struct type *builtin_type_v4hi;
extern struct type *builtin_type_v2si;
+/* Explicit floating-point formats. See "floatformat.h". */
+extern struct type *builtin_type_ieee_single_big;
+extern struct type *builtin_type_ieee_single_little;
+extern struct type *builtin_type_ieee_double_big;
+extern struct type *builtin_type_ieee_double_little;
+extern struct type *builtin_type_ieee_double_littlebyte_bigword;
+extern struct type *builtin_type_i387_ext;
+extern struct type *builtin_type_m68881_ext;
+extern struct type *builtin_type_i960_ext;
+extern struct type *builtin_type_m88110_ext;
+extern struct type *builtin_type_m88110_harris_ext;
+extern struct type *builtin_type_arm_ext_big;
+extern struct type *builtin_type_arm_ext_littlebyte_bigword;
+extern struct type *builtin_type_ia64_spill_big;
+extern struct type *builtin_type_ia64_spill_little;
+extern struct type *builtin_type_ia64_quad_big;
+extern struct type *builtin_type_ia64_quad_little;
+
/* We use this for the '/c' print format, because builtin_type_char is
just a one-byte integral type, which languages less laid back than
C will print as ... well, a one-byte integral type. */