From: Jim Kingdon Date: Thu, 27 Jan 1994 23:55:10 +0000 (+0000) Subject: * c-typeprint.c (c_type_print_base): Have SHOW == 0 mean to print X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e4ad984b1d48b4fb12c3438abc6dec50b12786c;p=binutils-gdb.git * 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1c4f1e33549..1190734daed 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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. diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c index 8d72838407a..9654c479503 100644 --- a/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c @@ -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);