aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog2
-rw-r--r--gdb/c-valprint.c15
2 files changed, 12 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index fa1a3cd..af90f3c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,7 @@
Mon Jan 10 20:08:23 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
+ * c-valprint.c (c_val_print): Treat TYPE_CODE_RANGE like TYPE_CODE_INT.
+
* config/alpha/alpha-netware.mt: Rename to alpha-nw.mt for 14
character filenames.
* configure.in: Change accordingly.
diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c
index b370db9..9d5869c 100644
--- a/gdb/c-valprint.c
+++ b/gdb/c-valprint.c
@@ -340,6 +340,16 @@ c_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
/* Do something at least vaguely reasonable, for example if the
language is set wrong. */
+ case TYPE_CODE_RANGE:
+ /* FIXME: create_range_type does not set the unsigned bit in a
+ range type (I think it probably should copy it from the target
+ type), so we won't print values which are too large to
+ fit in a signed integer correctly. */
+ /* FIXME: Doesn't handle ranges of enums correctly. (Can't just
+ print with the target type, though, because the size of our type
+ and the target type might differ). */
+ /* FALLTHROUGH */
+
case TYPE_CODE_INT:
format = format ? format : output_format;
if (format)
@@ -396,11 +406,6 @@ c_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
fprintf_filtered (stream, "<error type>");
break;
- case TYPE_CODE_RANGE:
- /* FIXME, we should not ever have to print one of these yet. */
- fprintf_filtered (stream, "<range type>");
- break;
-
case TYPE_CODE_UNDEF:
/* This happens (without TYPE_FLAG_STUB set) on systems which don't use
dbx xrefs (NO_DBX_XREFS in gcc) if a file has a "struct foo *bar"