summaryrefslogtreecommitdiff
path: root/gdb/c-typeprint.c
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2010-12-31 22:59:51 +0000
committerMichael Snyder <msnyder@specifix.com>2010-12-31 22:59:51 +0000
commit4b1d7842adfc9887086cea526e5ca5e923e48422 (patch)
tree111d3852e82a916629399ffd1587ed51e587b009 /gdb/c-typeprint.c
parent063d51569a462844484401166c2fb3a46691668a (diff)
downloadgdb-4b1d7842adfc9887086cea526e5ca5e923e48422.tar.gz
2010-12-31 Michael Snyder <msnyder@vmware.com>
* charset.c: Comment cleanup and long line wrapping. * charset.h: Ditto. * c-lang.c: Ditto. * c-lang.h: Ditto. * coff-pe-read.c: Ditto. * coff-pe-read.h: Ditto. * coffread.c: Ditto. * command.h: Ditto. * complaints.c: Ditto. * complaints.h: Ditto. * completer.c: Ditto. * completer.h: Ditto. * corefile.c: Ditto. * corelow.c: Ditto. * core-regset.c: Ditto. * cp-abi.c: Ditto. * cp-abi.h: Ditto. * cp-namespace.c: Ditto. * cp-support.c: Ditto. * cp-support.h: Ditto. * cp-valprint.c: Ditto. * cp-typeprint.c: Ditto. * c-valprint.c: Ditto.
Diffstat (limited to 'gdb/c-typeprint.c')
-rw-r--r--gdb/c-typeprint.c322
1 files changed, 188 insertions, 134 deletions
diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
index 04f8127f2a8..0cb1e908392 100644
--- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c
@@ -20,7 +20,7 @@
#include "defs.h"
#include "gdb_obstack.h"
-#include "bfd.h" /* Binary File Description */
+#include "bfd.h" /* Binary File Description. */
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
@@ -36,17 +36,21 @@
#include "gdb_string.h"
#include <errno.h>
-static void c_type_print_varspec_prefix (struct type *, struct ui_file *, int,
- int, int);
+static void c_type_print_varspec_prefix (struct type *,
+ struct ui_file *,
+ int, int, int);
-/* Print "const", "volatile", or address space modifiers. */
-static void c_type_print_modifier (struct type *, struct ui_file *,
+/* Print "const", "volatile", or address space modifiers. */
+static void c_type_print_modifier (struct type *,
+ struct ui_file *,
int, int);
/* LEVEL is the depth to indent lines by. */
void
-c_print_type (struct type *type, const char *varstring, struct ui_file *stream,
+c_print_type (struct type *type,
+ const char *varstring,
+ struct ui_file *stream,
int show, int level)
{
enum type_code code;
@@ -76,11 +80,12 @@ c_print_type (struct type *type, const char *varstring, struct ui_file *stream,
{
fputs_filtered (varstring, stream);
- /* For demangled function names, we have the arglist as part of the name,
- so don't print an additional pair of ()'s */
+ /* For demangled function names, we have the arglist as part of
+ the name, so don't print an additional pair of ()'s */
demangled_args = strchr (varstring, '(') != NULL;
- c_type_print_varspec_suffix (type, stream, show, 0, demangled_args);
+ c_type_print_varspec_suffix (type, stream, show,
+ 0, demangled_args);
}
}
@@ -89,7 +94,8 @@ c_print_type (struct type *type, const char *varstring, struct ui_file *stream,
which to print. */
void
-c_print_typedef (struct type *type, struct symbol *new_symbol,
+c_print_typedef (struct type *type,
+ struct symbol *new_symbol,
struct ui_file *stream)
{
CHECK_TYPEDEF (type);
@@ -104,8 +110,8 @@ c_print_typedef (struct type *type, struct symbol *new_symbol,
}
/* If TYPE is a derived type, then print out derivation information.
- Print only the actual base classes of this type, not the base classes
- of the base classes. I.E. for the derivation hierarchy:
+ Print only the actual base classes of this type, not the base
+ classes of the base classes. I.e. for the derivation hierarchy:
class A { int a; };
class B : public A {int b; };
@@ -117,21 +123,25 @@ c_print_typedef (struct type *type, struct symbol *new_symbol,
int c;
}
- Not as the following (like gdb used to), which is not legal C++ syntax for
- derived types and may be confused with the multiple inheritance form:
+ Not as the following (like gdb used to), which is not legal C++
+ syntax for derived types and may be confused with the multiple
+ inheritance form:
class C : public B : public A {
int c;
}
- In general, gdb should try to print the types as closely as possible to
- the form that they appear in the source code.
- Note that in case of protected derivation gcc will not say 'protected'
- but 'private'. The HP's aCC compiler emits specific information for
- derivation via protected inheritance, so gdb can print it out */
+ In general, gdb should try to print the types as closely as
+ possible to the form that they appear in the source code.
+
+ Note that in case of protected derivation gcc will not say
+ 'protected' but 'private'. The HP's aCC compiler emits specific
+ information for derivation via protected inheritance, so gdb can
+ print it out */
static void
-cp_type_print_derivation_info (struct ui_file *stream, struct type *type)
+cp_type_print_derivation_info (struct ui_file *stream,
+ struct type *type)
{
char *name;
int i;
@@ -140,8 +150,9 @@ cp_type_print_derivation_info (struct ui_file *stream, struct type *type)
{
fputs_filtered (i == 0 ? ": " : ", ", stream);
fprintf_filtered (stream, "%s%s ",
- BASETYPE_VIA_PUBLIC (type, i) ? "public"
- : (TYPE_FIELD_PROTECTED (type, i) ? "protected" : "private"),
+ BASETYPE_VIA_PUBLIC (type, i)
+ ? "public" : (TYPE_FIELD_PROTECTED (type, i)
+ ? "protected" : "private"),
BASETYPE_VIA_VIRTUAL (type, i) ? " virtual" : "");
name = type_name_no_tag (TYPE_BASECLASS (type, i));
fprintf_filtered (stream, "%s", name ? name : "(null)");
@@ -155,16 +166,19 @@ cp_type_print_derivation_info (struct ui_file *stream, struct type *type)
/* Print the C++ method arguments ARGS to the file STREAM. */
static void
-cp_type_print_method_args (struct type *mtype, char *prefix, char *varstring,
- int staticp, struct ui_file *stream)
+cp_type_print_method_args (struct type *mtype, char *prefix,
+ char *varstring, int staticp,
+ struct ui_file *stream)
{
struct field *args = TYPE_FIELDS (mtype);
int nargs = TYPE_NFIELDS (mtype);
int varargs = TYPE_VARARGS (mtype);
int i;
- fprintf_symbol_filtered (stream, prefix, language_cplus, DMGL_ANSI);
- fprintf_symbol_filtered (stream, varstring, language_cplus, DMGL_ANSI);
+ fprintf_symbol_filtered (stream, prefix,
+ language_cplus, DMGL_ANSI);
+ fprintf_symbol_filtered (stream, varstring,
+ language_cplus, DMGL_ANSI);
fputs_filtered ("(", stream);
/* Skip the class variable. */
@@ -220,8 +234,10 @@ cp_type_print_method_args (struct type *mtype, char *prefix, char *varstring,
name. */
static void
-c_type_print_varspec_prefix (struct type *type, struct ui_file *stream,
- int show, int passed_a_ptr, int need_post_space)
+c_type_print_varspec_prefix (struct type *type,
+ struct ui_file *stream,
+ int show, int passed_a_ptr,
+ int need_post_space)
{
char *name;
@@ -236,53 +252,62 @@ c_type_print_varspec_prefix (struct type *type, struct ui_file *stream,
switch (TYPE_CODE (type))
{
case TYPE_CODE_PTR:
- c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, show, 1, 1);
+ c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
+ stream, show, 1, 1);
fprintf_filtered (stream, "*");
c_type_print_modifier (type, stream, 1, need_post_space);
break;
case TYPE_CODE_MEMBERPTR:
- c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, show, 0, 0);
+ c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
+ stream, show, 0, 0);
name = type_name_no_tag (TYPE_DOMAIN_TYPE (type));
if (name)
fputs_filtered (name, stream);
else
- c_type_print_base (TYPE_DOMAIN_TYPE (type), stream, 0, passed_a_ptr);
+ c_type_print_base (TYPE_DOMAIN_TYPE (type),
+ stream, 0, passed_a_ptr);
fprintf_filtered (stream, "::*");
break;
case TYPE_CODE_METHODPTR:
- c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, show, 0, 0);
+ c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
+ stream, show, 0, 0);
fprintf_filtered (stream, "(");
name = type_name_no_tag (TYPE_DOMAIN_TYPE (type));
if (name)
fputs_filtered (name, stream);
else
- c_type_print_base (TYPE_DOMAIN_TYPE (type), stream, 0, passed_a_ptr);
+ c_type_print_base (TYPE_DOMAIN_TYPE (type),
+ stream, 0, passed_a_ptr);
fprintf_filtered (stream, "::*");
break;
case TYPE_CODE_REF:
- c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, show, 1, 0);
+ c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
+ stream, show, 1, 0);
fprintf_filtered (stream, "&");
c_type_print_modifier (type, stream, 1, need_post_space);
break;
case TYPE_CODE_METHOD:
case TYPE_CODE_FUNC:
- c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, show, 0, 0);
+ c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
+ stream, show, 0, 0);
if (passed_a_ptr)
fprintf_filtered (stream, "(");
break;
case TYPE_CODE_ARRAY:
- c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, show, 0, 0);
+ c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
+ stream, show, 0, 0);
if (passed_a_ptr)
fprintf_filtered (stream, "(");
break;
case TYPE_CODE_TYPEDEF:
- c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type), stream, show, 0, 0);
+ c_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
+ stream, show, 0, 0);
break;
case TYPE_CODE_UNDEF:
@@ -363,9 +388,9 @@ c_type_print_modifier (struct type *type, struct ui_file *stream,
/* Print out the arguments of TYPE, which should have TYPE_CODE_METHOD
or TYPE_CODE_FUNC, to STREAM. Artificial arguments, such as "this"
in non-static methods, are displayed if SHOW_ARTIFICIAL is
- non-zero. LANGUAGE is the language in which TYPE was defined. This is
- a necessary evil since this code is used by the C, C++, and Java
- backends. */
+ non-zero. LANGUAGE is the language in which TYPE was defined.
+ This is a necessary evil since this code is used by the C, C++, and
+ Java backends. */
void
c_type_print_args (struct type *type, struct ui_file *stream,
@@ -391,9 +416,11 @@ c_type_print_args (struct type *type, struct ui_file *stream,
}
if (language == language_java)
- java_print_type (TYPE_FIELD_TYPE (type, i), "", stream, -1, 0);
+ java_print_type (TYPE_FIELD_TYPE (type, i),
+ "", stream, -1, 0);
else
- c_print_type (TYPE_FIELD_TYPE (type, i), "", stream, -1, 0);
+ c_print_type (TYPE_FIELD_TYPE (type, i),
+ "", stream, -1, 0);
printed_any = 1;
}
@@ -466,7 +493,8 @@ is_type_conversion_operator (struct type *type, int i, int j)
return 1;
/* That was indeed the end of the name, so it was `operator new' or
- `operator delete', neither of which are type conversion operators. */
+ `operator delete', neither of which are type conversion
+ operators. */
return 0;
}
@@ -481,14 +509,14 @@ is_type_conversion_operator (struct type *type, int i, int j)
static char *
remove_qualifiers (char *qid)
{
- int quoted = 0; /* zero if we're not in quotes;
- '"' if we're in a double-quoted string;
- '\'' if we're in a single-quoted string. */
- int depth = 0; /* number of unclosed parens we've seen */
+ int quoted = 0; /* zero if we're not in quotes;
+ '"' if we're in a double-quoted string;
+ '\'' if we're in a single-quoted string. */
+ int depth = 0; /* number of unclosed parens we've seen */
char *parenstack = (char *) alloca (strlen (qid));
char *scan;
- char *last = 0; /* The character after the rightmost
- `::' token we've seen so far. */
+ char *last = 0; /* The character after the rightmost
+ `::' token we've seen so far. */
for (scan = qid; *scan; scan++)
{
@@ -504,8 +532,8 @@ remove_qualifiers (char *qid)
/* If we're inside parenthesis (i.e., an argument list) or
angle brackets (i.e., a list of template arguments), then
we don't record the position of this :: token, since it's
- not relevant to the top-level structure we're trying
- to operate on. */
+ not relevant to the top-level structure we're trying to
+ operate on. */
if (depth == 0)
{
last = scan + 2;
@@ -529,10 +557,10 @@ remove_qualifiers (char *qid)
depth--;
else
{
- /* We're going to do a little error recovery here. If we
- don't find a match for *scan on the paren stack, but
- there is something lower on the stack that does match, we
- pop the stack to that point. */
+ /* We're going to do a little error recovery here. If
+ we don't find a match for *scan on the paren stack,
+ but there is something lower on the stack that does
+ match, we pop the stack to that point. */
int i;
for (i = depth - 1; i >= 0; i--)
@@ -558,8 +586,10 @@ remove_qualifiers (char *qid)
Args work like c_type_print_varspec_prefix. */
void
-c_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
- int show, int passed_a_ptr, int demangled_args)
+c_type_print_varspec_suffix (struct type *type,
+ struct ui_file *stream,
+ int show, int passed_a_ptr,
+ int demangled_args)
{
if (type == 0)
return;
@@ -580,29 +610,30 @@ c_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
fprintf_filtered (stream, "[");
if (get_array_bounds (type, &low_bound, &high_bound))
- fprintf_filtered (stream, "%d", (int) (high_bound - low_bound + 1));
+ fprintf_filtered (stream, "%d",
+ (int) (high_bound - low_bound + 1));
fprintf_filtered (stream, "]");
- c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, show,
- 0, 0);
+ c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
+ show, 0, 0);
}
break;
case TYPE_CODE_MEMBERPTR:
- c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, show,
- 0, 0);
+ c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
+ show, 0, 0);
break;
case TYPE_CODE_METHODPTR:
fprintf_filtered (stream, ")");
- c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, show,
- 0, 0);
+ c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
+ show, 0, 0);
break;
case TYPE_CODE_PTR:
case TYPE_CODE_REF:
- c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, show,
- 1, 0);
+ c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
+ show, 1, 0);
break;
case TYPE_CODE_METHOD:
@@ -610,14 +641,15 @@ c_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
if (passed_a_ptr)
fprintf_filtered (stream, ")");
if (!demangled_args)
- c_type_print_args (type, stream, 1, current_language->la_language);
- c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, show,
- passed_a_ptr, 0);
+ c_type_print_args (type, stream, 1,
+ current_language->la_language);
+ c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
+ show, passed_a_ptr, 0);
break;
case TYPE_CODE_TYPEDEF:
- c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, show,
- passed_a_ptr, 0);
+ c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
+ show, passed_a_ptr, 0);
break;
case TYPE_CODE_UNDEF:
@@ -638,7 +670,8 @@ c_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
case TYPE_CODE_NAMESPACE:
case TYPE_CODE_DECFLOAT:
/* These types do not need a suffix. They are listed so that
- gcc -Wall will report types that may not have been considered. */
+ gcc -Wall will report types that may not have been
+ considered. */
break;
default:
error (_("type not handled in c_type_print_varspec_suffix()"));
@@ -647,24 +680,26 @@ c_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
}
/* Print the name of the type (or the ultimate pointer target,
- function value or array element), or the description of a
- structure or union.
-
- SHOW positive means print details about the type (e.g. enum values),
- and print structure elements passing SHOW - 1 for show.
- 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 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;}".
+ function value or array element), or the description of a structure
+ or union.
+
+ SHOW positive means print details about the type (e.g. enum
+ values), and print structure elements passing SHOW - 1 for show.
+
+ 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 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. */
void
-c_type_print_base (struct type *type, struct ui_file *stream, int show,
- int level)
+c_type_print_base (struct type *type, struct ui_file *stream,
+ int show, int level)
{
int i;
int len, real_len;
@@ -689,11 +724,12 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
return;
}
- /* When SHOW is zero or less, and there is a valid type name, then always
- just print the type name directly from the type. */
- /* If we have "typedef struct foo {. . .} bar;" do we want to print it
- as "struct foo" or as "bar"? Pick the latter, because C++ folk tend
- to expect things like "class5 *foo" rather than "struct class5 *foo". */
+ /* When SHOW is zero or less, and there is a valid type name, then
+ always just print the type name directly from the type. */
+ /* If we have "typedef struct foo {. . .} bar;" do we want to print
+ it as "struct foo" or as "bar"? Pick the latter, because C++
+ folk tend to expect things like "class5 *foo" rather than "struct
+ class5 *foo". */
if (show <= 0
&& TYPE_NAME (type) != NULL)
@@ -708,8 +744,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
switch (TYPE_CODE (type))
{
case TYPE_CODE_TYPEDEF:
- /* If we get here, the typedef doesn't have a name, and we couldn't
- resolve TYPE_TARGET_TYPE. Not much we can do. */
+ /* If we get here, the typedef doesn't have a name, and we
+ couldn't resolve TYPE_TARGET_TYPE. Not much we can do. */
gdb_assert (TYPE_NAME (type) == NULL);
gdb_assert (TYPE_TARGET_TYPE (type) == NULL);
fprintf_filtered (stream, _("<unnamed typedef>"));
@@ -722,7 +758,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
case TYPE_CODE_FUNC:
case TYPE_CODE_METHOD:
case TYPE_CODE_METHODPTR:
- c_type_print_base (TYPE_TARGET_TYPE (type), stream, show, level);
+ c_type_print_base (TYPE_TARGET_TYPE (type),
+ stream, show, level);
break;
case TYPE_CODE_STRUCT:
@@ -739,12 +776,10 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
struct_union:
- /* Print the tag if it exists.
- * The HP aCC compiler emits
- * a spurious "{unnamed struct}"/"{unnamed union}"/"{unnamed enum}"
- * tag for unnamed struct/union/enum's, which we don't
- * want to print.
- */
+ /* Print the tag if it exists. The HP aCC compiler emits a
+ spurious "{unnamed struct}"/"{unnamed union}"/"{unnamed
+ enum}" tag for unnamed struct/union/enum's, which we don't
+ want to print. */
if (TYPE_TAG_NAME (type) != NULL
&& strncmp (TYPE_TAG_NAME (type), "{unnamed", 8))
{
@@ -755,7 +790,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
wrap_here (" ");
if (show < 0)
{
- /* If we just printed a tag name, no need to print anything else. */
+ /* If we just printed a tag name, no need to print anything
+ else. */
if (TYPE_TAG_NAME (type) == NULL)
fprintf_filtered (stream, "{...}");
}
@@ -771,21 +807,23 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
&& TYPE_TYPEDEF_FIELD_COUNT (type) == 0)
{
if (TYPE_STUB (type))
- fprintfi_filtered (level + 4, stream, _("<incomplete type>\n"));
+ fprintfi_filtered (level + 4, stream,
+ _("<incomplete type>\n"));
else
- fprintfi_filtered (level + 4, stream, _("<no data fields>\n"));
+ fprintfi_filtered (level + 4, stream,
+ _("<no data fields>\n"));
}
/* Start off with no specific section type, so we can print
one for the first field we find, and use that section type
- thereafter until we find another type. */
+ thereafter until we find another type. */
section_type = s_none;
/* For a class, if all members are private, there's no need
for a "private:" label; similarly, for a struct or union
masquerading as a class, if all members are public, there's
- no need for a "public:" label. */
+ no need for a "public:" label. */
if (TYPE_DECLARED_CLASS (type))
{
@@ -820,7 +858,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
QUIT;
len = TYPE_NFIELDS (type);
for (i = TYPE_N_BASECLASSES (type); i < len; i++)
- if (TYPE_FIELD_PRIVATE (type, i) || TYPE_FIELD_PROTECTED (type, i))
+ if (TYPE_FIELD_PRIVATE (type, i)
+ || TYPE_FIELD_PROTECTED (type, i))
{
need_access_label = 1;
break;
@@ -878,7 +917,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
if (section_type != s_private)
{
section_type = s_private;
- fprintfi_filtered (level + 2, stream, "private:\n");
+ fprintfi_filtered (level + 2, stream,
+ "private:\n");
}
}
else
@@ -886,7 +926,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
if (section_type != s_public)
{
section_type = s_public;
- fprintfi_filtered (level + 2, stream, "public:\n");
+ fprintfi_filtered (level + 2, stream,
+ "public:\n");
}
}
}
@@ -912,8 +953,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
}
/* If there are both fields and methods, put a blank line
- between them. Make sure to count only method that we will
- display; artificial methods will be hidden. */
+ between them. Make sure to count only method that we
+ will display; artificial methods will be hidden. */
len = TYPE_NFN_FIELDS (type);
real_len = 0;
for (i = 0; i < len; i++)
@@ -936,7 +977,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
int j, len2 = TYPE_FN_FIELDLIST_LENGTH (type, i);
char *method_name = TYPE_FN_FIELDLIST_NAME (type, i);
char *name = type_name_no_tag (type);
- int is_constructor = name && strcmp (method_name, name) == 0;
+ int is_constructor = name && strcmp (method_name,
+ name) == 0;
for (j = 0; j < len2; j++)
{
@@ -965,7 +1007,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
if (section_type != s_private)
{
section_type = s_private;
- fprintfi_filtered (level + 2, stream, "private:\n");
+ fprintfi_filtered (level + 2, stream,
+ "private:\n");
}
}
else
@@ -973,7 +1016,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
if (section_type != s_public)
{
section_type = s_public;
- fprintfi_filtered (level + 2, stream, "public:\n");
+ fprintfi_filtered (level + 2, stream,
+ "public:\n");
}
}
@@ -985,12 +1029,15 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
if (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)) == 0)
{
/* Keep GDB from crashing here. */
- fprintf_filtered (stream, _("<undefined type> %s;\n"),
+ fprintf_filtered (stream,
+ _("<undefined type> %s;\n"),
TYPE_FN_FIELD_PHYSNAME (f, j));
break;
}
- else if (!is_constructor /* constructors don't have declared types */
- && !is_full_physname_constructor /* " " */
+ else if (!is_constructor /* Constructors don't
+ have declared
+ types. */
+ && !is_full_physname_constructor /* " " */
&& !is_type_conversion_operator (type, i, j))
{
type_print (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)),
@@ -1008,11 +1055,11 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
DMGL_ANSI | DMGL_PARAMS);
if (demangled_name == NULL)
{
- /* in some cases (for instance with the HP demangling),
- if a function has more than 10 arguments,
- the demangling will fail.
- Let's try to reconstruct the function signature from
- the symbol information */
+ /* In some cases (for instance with the HP
+ demangling), if a function has more than 10
+ arguments, the demangling will fail.
+ Let's try to reconstruct the function
+ signature from the symbol information. */
if (!TYPE_FN_FIELD_STUB (f, j))
{
int staticp = TYPE_FN_FIELD_STATIC_P (f, j);
@@ -1025,7 +1072,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
stream);
}
else
- fprintf_filtered (stream, _("<badly mangled name '%s'>"),
+ fprintf_filtered (stream,
+ _("<badly mangled name '%s'>"),
mangled_name);
}
else
@@ -1034,14 +1082,17 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
char *demangled_no_class
= remove_qualifiers (demangled_name);
- /* get rid of the `static' appended by the demangler */
+ /* Get rid of the `static' appended by the
+ demangler. */
p = strstr (demangled_no_class, " static");
if (p != NULL)
{
int length = p - demangled_no_class;
- demangled_no_static = (char *) xmalloc (length + 1);
- strncpy (demangled_no_static, demangled_no_class, length);
+ demangled_no_static
+ = (char *) xmalloc (length + 1);
+ strncpy (demangled_no_static,
+ demangled_no_class, length);
*(demangled_no_static + length) = '\0';
fputs_filtered (demangled_no_static, stream);
xfree (demangled_no_static);
@@ -1084,7 +1135,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
fprintfi_filtered (level, stream, "}");
if (TYPE_LOCALTYPE_PTR (type) && show >= 0)
- fprintfi_filtered (level, stream, _(" (Local at %s:%d)\n"),
+ fprintfi_filtered (level,
+ stream, _(" (Local at %s:%d)\n"),
TYPE_LOCALTYPE_FILE (type),
TYPE_LOCALTYPE_LINE (type));
}
@@ -1097,7 +1149,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
The aCC compiler emits a spurious
"{unnamed struct}"/"{unnamed union}"/"{unnamed enum}"
tag for unnamed struct/union/enum's, which we don't
- want to print. */
+ want to print. */
if (TYPE_TAG_NAME (type) != NULL
&& strncmp (TYPE_TAG_NAME (type), "{unnamed", 8))
{
@@ -1109,7 +1161,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
wrap_here (" ");
if (show < 0)
{
- /* If we just printed a tag name, no need to print anything else. */
+ /* If we just printed a tag name, no need to print anything
+ else. */
if (TYPE_TAG_NAME (type) == NULL)
fprintf_filtered (stream, "{...}");
}
@@ -1127,7 +1180,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
fputs_filtered (TYPE_FIELD_NAME (type, i), stream);
if (lastval != TYPE_FIELD_BITPOS (type, i))
{
- fprintf_filtered (stream, " = %d", TYPE_FIELD_BITPOS (type, i));
+ fprintf_filtered (stream, " = %d",
+ TYPE_FIELD_BITPOS (type, i));
lastval = TYPE_FIELD_BITPOS (type, i);
}
lastval++;
@@ -1159,10 +1213,10 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
break;
default:
- /* Handle types not explicitly handled by the other cases,
- such as fundamental types. For these, just print whatever
- the type name is, as recorded in the type itself. If there
- is no type name, then complain. */
+ /* Handle types not explicitly handled by the other cases, such
+ as fundamental types. For these, just print whatever the
+ type name is, as recorded in the type itself. If there is no
+ type name, then complain. */
if (TYPE_NAME (type) != NULL)
{
c_type_print_modifier (type, stream, 0, 1);
@@ -1170,8 +1224,8 @@ c_type_print_base (struct type *type, struct ui_file *stream, int show,
}
else
{
- /* At least for dump_symtab, it is important that this not be
- an error (). */
+ /* At least for dump_symtab, it is important that this not
+ be an error (). */
fprintf_filtered (stream, _("<invalid type code %d>"),
TYPE_CODE (type));
}