aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/printcmd.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9acd44a..b29b15d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2001-12-07 Jim Blandy <jimb@redhat.com>
+
+ * printcmd.c (print_scalar_formatted): Compare the length of the
+ value against the lengths of the target's floating-point types,
+ not the host's. Add support for `long double'.
+
2001-12-07 Martin M. Hunt <hunt@redhat.com>
* configure.in: Check for sys/filio.h
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 2486ba7..bb02d8d 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -455,10 +455,12 @@ print_scalar_formatted (char *valaddr, struct type *type, int format, int size,
break;
case 'f':
- if (len == sizeof (float))
+ if (len == TYPE_LENGTH (builtin_type_float))
type = builtin_type_float;
- else if (len == sizeof (double))
+ else if (len == TYPE_LENGTH (builtin_type_double))
type = builtin_type_double;
+ else if (len == TYPE_LENGTH (builtin_type_long_double))
+ type = builtin_type_long_double;
print_floating (valaddr, type, stream);
break;