Add "set print finish"
[deliverable/binutils-gdb.git] / gdb / f-lang.c
index 9da6fdb3e1c35744ac9dc6fc48f84b2ca769a1ad..e612eeda7f7fe0ad7b8c1f2dd8603b093d0f322a 100644 (file)
@@ -727,9 +727,17 @@ build_fortran_types (struct gdbarch *gdbarch)
   builtin_f_type->builtin_real_s8
     = arch_float_type (gdbarch, gdbarch_double_bit (gdbarch),
                       "real*8", gdbarch_double_format (gdbarch));
-  builtin_f_type->builtin_real_s16
-    = arch_float_type (gdbarch, gdbarch_long_double_bit (gdbarch),
-                      "real*16", gdbarch_long_double_format (gdbarch));
+  auto fmt = gdbarch_floatformat_for_type (gdbarch, "real(kind=16)", 128);
+  if (fmt != nullptr)
+    builtin_f_type->builtin_real_s16
+      = arch_float_type (gdbarch, 128, "real*16", fmt);
+  else if (gdbarch_long_double_bit (gdbarch) == 128)
+    builtin_f_type->builtin_real_s16
+      = arch_float_type (gdbarch, gdbarch_long_double_bit (gdbarch),
+                        "real*16", gdbarch_long_double_format (gdbarch));
+  else
+    builtin_f_type->builtin_real_s16
+      = arch_type (gdbarch, TYPE_CODE_ERROR, 128, "real*16");
 
   builtin_f_type->builtin_complex_s8
     = arch_complex_type (gdbarch, "complex*8",
This page took 0.024455 seconds and 4 git commands to generate.