aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/f-lang.c40
2 files changed, 41 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7126896..c4d9d79 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,8 @@
2003-02-27 Michael Snyder <msnyder@redhat.com>
+ * f-lang.c (build_fortran_types): New function.
+ (_initialize_f_language): Gdbarch-register built-in fortran types.
+
* doublest.c (extract_floating): Fix warning text.
2003-02-27 Andrew Cagney <cagney@redhat.com>
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index 85866b3..84e3d81 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -483,8 +483,8 @@ const struct language_defn f_language_defn =
LANG_MAGIC
};
-void
-_initialize_f_language (void)
+static void
+build_fortran_types (void)
{
builtin_type_f_void =
init_type (TYPE_CODE_VOID, 1,
@@ -556,6 +556,42 @@ _initialize_f_language (void)
0,
"complex*32", (struct objfile *) NULL);
TYPE_TARGET_TYPE (builtin_type_f_complex_s32) = builtin_type_f_real_s16;
+}
+
+void
+_initialize_f_language (void)
+{
+ build_fortran_types ();
+ register_gdbarch_swap (&builtin_type_f_character,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_logical,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_logical_s1,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_logical_s2,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_integer,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_integer_s2,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_real,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_real_s8,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_real_s16,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_complex_s8,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_complex_s16,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_complex_s32,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_f_void,
+ sizeof (struct type *), NULL);
+ register_gdbarch_swap (&builtin_type_string,
+ sizeof (struct type *), NULL);
+
+ register_gdbarch_swap (NULL, 0, build_fortran_types);
builtin_type_string =
init_type (TYPE_CODE_STRING, TARGET_CHAR_BIT / TARGET_CHAR_BIT,