aboutsummaryrefslogtreecommitdiff
path: root/gdb/c-typeprint.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-08-31 15:44:44 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-08-31 15:44:44 +0000
commit875fc229ff743de3b30287e8fa5b844d8ffafdfc (patch)
tree1ecd91ac4b7b3b68ffd4921a6e4ef61230f02005 /gdb/c-typeprint.c
parentac31351a627f2ab74feef9ea13adab9f363c4469 (diff)
downloadgdb-875fc229ff743de3b30287e8fa5b844d8ffafdfc.zip
gdb-875fc229ff743de3b30287e8fa5b844d8ffafdfc.tar.gz
gdb-875fc229ff743de3b30287e8fa5b844d8ffafdfc.tar.bz2
* c-typeprint.c (c_print_type_base): Treat show = 0 just like
show < 0. The only case where we had been distinguishing is that show = 0 used to print "struct " or "enum " instead of "struct {...}" or "enum {...}" which seems clearly wrong.
Diffstat (limited to 'gdb/c-typeprint.c')
-rw-r--r--gdb/c-typeprint.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
index dffa048..31cb0c4 100644
--- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c
@@ -439,13 +439,16 @@ c_type_print_varspec_suffix (type, stream, show, passed_a_ptr, demangled_args)
function value or array element), or the description of a
structure or union.
- SHOW nonzero means don't print this type as just its name;
- show its real definition even if it has a name.
- SHOW zero means print just typename or struct tag if there is one
- SHOW negative means abbreviate structure elements.
- SHOW is decremented for printing of structure elements.
-
- LEVEL is the depth to indent by.
+ 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.
+ 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.
+
+ LEVEL is the number of spaces to indent by.
We increase it for some recursive calls. */
void
@@ -516,7 +519,7 @@ 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)
@@ -716,7 +719,7 @@ 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)