* c-typeprint.c (c_type_print_base): Have SHOW == 0 mean to print
authorJim Kingdon <jkingdon@engr.sgi.com>
Thu, 27 Jan 1994 23:55:10 +0000 (23:55 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Thu, 27 Jan 1994 23:55:10 +0000 (23:55 +0000)
full details on structure elements without names.  This partially
reverts the changes of 1 Jul 1993 and 31 Aug 1993; I think this aspect
of those changes was accidental.

gdb/ChangeLog
gdb/c-typeprint.c

index 1c4f1e33549cf101d3dd4af99f19eca54289682c..1190734daed63efeee7f27ef7763e66197dfa170 100644 (file)
@@ -1,5 +1,10 @@
 Thu Jan 27 15:12:23 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
+       * c-typeprint.c (c_type_print_base): Have SHOW == 0 mean to print
+       full details on structure elements without names.  This partially
+       reverts the changes of 1 Jul 1993 and 31 Aug 1993; I think this aspect
+       of those changes was accidental.
+
        * stack.c (parse_frame_specification): If SETUP_ARBITRARY_FRAME is
        defined, make it an error to specify a single argument which is not
        a frame number.
index 8d72838407afd451bf4f15b418d1255debaa7040..9654c479503c440be9dbb297a0f50a834978a2d7 100644 (file)
@@ -443,12 +443,12 @@ c_type_print_varspec_suffix (type, stream, show, passed_a_ptr, demangled_args)
 
    SHOW positive means print details about the type (e.g. enum values),
    and print structure elements passing SHOW - 1 for show.
-   SHOW zero means just print the type name or struct tag if there is one.
+   SHOW negative means just print the type name or struct tag if there is one.
    If there is no name, print something sensible but concise like
    "struct {...}".
-   SHOW negative means the same things as SHOW zero.  The difference is that
-   zero is used for printing structure elements and -1 is used for the
-   "whatis" command.  But I don't see any need to distinguish.
+   SHOW zero means just print the type name or struct tag if there is one.
+   If there is no name, print something sensible but not as concise like
+   "struct {int x; int y;}".
 
    LEVEL is the number of spaces to indent by.
    We increase it for some recursive calls.  */
@@ -523,13 +523,13 @@ c_type_print_base (type, stream, show, level)
            fputs_filtered (" ", stream);
        }
       wrap_here ("    ");
-      if (show <= 0)
+      if (show < 0)
        {
          /* If we just printed a tag name, no need to print anything else.  */
          if (TYPE_TAG_NAME (type) == NULL)
            fprintf_filtered (stream, "{...}");
        }
-      else if (show > 0)
+      else if (show > 0 || TYPE_TAG_NAME (type) == NULL)
        {
          cp_type_print_derivation_info (stream, type);
          
@@ -730,13 +730,13 @@ c_type_print_base (type, stream, show, level)
        }
 
       wrap_here ("    ");
-      if (show <= 0)
+      if (show < 0)
        {
          /* If we just printed a tag name, no need to print anything else.  */
          if (TYPE_TAG_NAME (type) == NULL)
            fprintf_filtered (stream, "{...}");
        }
-      else if (show > 0)
+      else if (show > 0 || TYPE_TAG_NAME (type) == NULL)
        {
          fprintf_filtered (stream, "{");
          len = TYPE_NFIELDS (type);