diff options
Diffstat (limited to 'gdb/f-lang.c')
-rw-r--r-- | gdb/f-lang.c | 40 |
1 files changed, 38 insertions, 2 deletions
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, |