* c-valprint.c (c_val_print): Treat TYPE_CODE_RANGE like TYPE_CODE_INT.
authorJim Kingdon <jkingdon@engr.sgi.com>
Tue, 11 Jan 1994 04:54:53 +0000 (04:54 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Tue, 11 Jan 1994 04:54:53 +0000 (04:54 +0000)
gdb/ChangeLog
gdb/c-valprint.c

index fa1a3cda944bf5facb228dcb8660125bdcd37234..af90f3ce494bc7d7ba8cc14eb39c7fe39ae0d8b5 100644 (file)
@@ -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.
index b370db9f67b04e677963a5e326c66065d32c01b1..9d5869c033edc7eb21b8add7a18e6ee4a7e1741d 100644 (file)
@@ -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"