2000-09-04 Pierre Muller <muller@ics.u-strasbg.fr>
* c-typeprint.c (c_typedef_print): remove (replaced by typedef_print in typeprint.c). * typeprint.c (typedef_print): new function. (old c_typedef_print function with pascal language support added). * value.h (c_printdef_print): removed. (typedef_print): declare. * symtab.c (print_symbol_info): call to c_typedef_print replaced by call to typedef_print.
This commit is contained in:
parent
a47cf56716
commit
a5238fbc03
5 changed files with 67 additions and 50 deletions
|
@ -1,3 +1,13 @@
|
||||||
|
2000-09-04 Pierre Muller <muller@ics.u-strasbg.fr>
|
||||||
|
* c-typeprint.c (c_typedef_print): remove (replaced by typedef_print in
|
||||||
|
typeprint.c).
|
||||||
|
* typeprint.c (typedef_print): new function. (old c_typedef_print
|
||||||
|
function with pascal language support added).
|
||||||
|
* value.h (c_printdef_print): removed.
|
||||||
|
(typedef_print): declare.
|
||||||
|
* symtab.c (print_symbol_info): call to c_typedef_print replaced by
|
||||||
|
call to typedef_print.
|
||||||
|
|
||||||
2000-09-03 Mark Kettenis <kettenis@gnu.org>
|
2000-09-03 Mark Kettenis <kettenis@gnu.org>
|
||||||
|
|
||||||
* config/i386/nm-linux.h (PREPARE_TO_PROCEED, ATTCH_LWP,
|
* config/i386/nm-linux.h (PREPARE_TO_PROCEED, ATTCH_LWP,
|
||||||
|
|
|
@ -58,54 +58,6 @@ static void c_type_print_cv_qualifier (struct type *, struct ui_file *,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Print a description of a type in the format of a
|
|
||||||
typedef for the current language.
|
|
||||||
NEW is the new name for a type TYPE. */
|
|
||||||
|
|
||||||
void
|
|
||||||
c_typedef_print (struct type *type, struct symbol *new, struct ui_file *stream)
|
|
||||||
{
|
|
||||||
CHECK_TYPEDEF (type);
|
|
||||||
switch (current_language->la_language)
|
|
||||||
{
|
|
||||||
#ifdef _LANG_c
|
|
||||||
case language_c:
|
|
||||||
case language_cplus:
|
|
||||||
fprintf_filtered (stream, "typedef ");
|
|
||||||
type_print (type, "", stream, 0);
|
|
||||||
if (TYPE_NAME ((SYMBOL_TYPE (new))) == 0
|
|
||||||
|| !STREQ (TYPE_NAME ((SYMBOL_TYPE (new))), SYMBOL_NAME (new)))
|
|
||||||
fprintf_filtered (stream, " %s", SYMBOL_SOURCE_NAME (new));
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
#ifdef _LANG_m2
|
|
||||||
case language_m2:
|
|
||||||
fprintf_filtered (stream, "TYPE ");
|
|
||||||
if (!TYPE_NAME (SYMBOL_TYPE (new)) ||
|
|
||||||
!STREQ (TYPE_NAME (SYMBOL_TYPE (new)), SYMBOL_NAME (new)))
|
|
||||||
fprintf_filtered (stream, "%s = ", SYMBOL_SOURCE_NAME (new));
|
|
||||||
else
|
|
||||||
fprintf_filtered (stream, "<builtin> = ");
|
|
||||||
type_print (type, "", stream, 0);
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
#ifdef _LANG_chill
|
|
||||||
case language_chill:
|
|
||||||
fprintf_filtered (stream, "SYNMODE ");
|
|
||||||
if (!TYPE_NAME (SYMBOL_TYPE (new)) ||
|
|
||||||
!STREQ (TYPE_NAME (SYMBOL_TYPE (new)), SYMBOL_NAME (new)))
|
|
||||||
fprintf_filtered (stream, "%s = ", SYMBOL_SOURCE_NAME (new));
|
|
||||||
else
|
|
||||||
fprintf_filtered (stream, "<builtin> = ");
|
|
||||||
type_print (type, "", stream, 0);
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
default:
|
|
||||||
error ("Language not supported.");
|
|
||||||
}
|
|
||||||
fprintf_filtered (stream, ";\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* LEVEL is the depth to indent lines by. */
|
/* LEVEL is the depth to indent lines by. */
|
||||||
|
|
||||||
|
|
|
@ -3830,7 +3830,7 @@ print_symbol_info (namespace_enum kind, struct symtab *s, struct symbol *sym,
|
||||||
/* Typedef that is not a C++ class */
|
/* Typedef that is not a C++ class */
|
||||||
if (kind == TYPES_NAMESPACE
|
if (kind == TYPES_NAMESPACE
|
||||||
&& SYMBOL_NAMESPACE (sym) != STRUCT_NAMESPACE)
|
&& SYMBOL_NAMESPACE (sym) != STRUCT_NAMESPACE)
|
||||||
c_typedef_print (SYMBOL_TYPE (sym), sym, gdb_stdout);
|
typedef_print (SYMBOL_TYPE (sym), sym, gdb_stdout);
|
||||||
/* variable, func, or typedef-that-is-c++-class */
|
/* variable, func, or typedef-that-is-c++-class */
|
||||||
else if (kind < TYPES_NAMESPACE ||
|
else if (kind < TYPES_NAMESPACE ||
|
||||||
(kind == TYPES_NAMESPACE &&
|
(kind == TYPES_NAMESPACE &&
|
||||||
|
|
|
@ -49,6 +49,61 @@ static void whatis_command (char *, int);
|
||||||
|
|
||||||
static void whatis_exp (char *, int);
|
static void whatis_exp (char *, int);
|
||||||
|
|
||||||
|
/* Print a description of a type in the format of a
|
||||||
|
typedef for the current language.
|
||||||
|
NEW is the new name for a type TYPE. */
|
||||||
|
|
||||||
|
void
|
||||||
|
typedef_print (struct type *type, struct symbol *new, struct ui_file *stream)
|
||||||
|
{
|
||||||
|
CHECK_TYPEDEF (type);
|
||||||
|
switch (current_language->la_language)
|
||||||
|
{
|
||||||
|
#ifdef _LANG_c
|
||||||
|
case language_c:
|
||||||
|
case language_cplus:
|
||||||
|
fprintf_filtered (stream, "typedef ");
|
||||||
|
type_print (type, "", stream, 0);
|
||||||
|
if (TYPE_NAME ((SYMBOL_TYPE (new))) == 0
|
||||||
|
|| !STREQ (TYPE_NAME ((SYMBOL_TYPE (new))), SYMBOL_NAME (new)))
|
||||||
|
fprintf_filtered (stream, " %s", SYMBOL_SOURCE_NAME (new));
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
#ifdef _LANG_m2
|
||||||
|
case language_m2:
|
||||||
|
fprintf_filtered (stream, "TYPE ");
|
||||||
|
if (!TYPE_NAME (SYMBOL_TYPE (new)) ||
|
||||||
|
!STREQ (TYPE_NAME (SYMBOL_TYPE (new)), SYMBOL_NAME (new)))
|
||||||
|
fprintf_filtered (stream, "%s = ", SYMBOL_SOURCE_NAME (new));
|
||||||
|
else
|
||||||
|
fprintf_filtered (stream, "<builtin> = ");
|
||||||
|
type_print (type, "", stream, 0);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
#ifdef _LANG_pascal
|
||||||
|
case language_pascal:
|
||||||
|
fprintf_filtered (stream, "type ");
|
||||||
|
fprintf_filtered (stream, "%s = ", SYMBOL_SOURCE_NAME (new));
|
||||||
|
type_print (type, "", stream, 0);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
#ifdef _LANG_chill
|
||||||
|
case language_chill:
|
||||||
|
fprintf_filtered (stream, "SYNMODE ");
|
||||||
|
if (!TYPE_NAME (SYMBOL_TYPE (new)) ||
|
||||||
|
!STREQ (TYPE_NAME (SYMBOL_TYPE (new)), SYMBOL_NAME (new)))
|
||||||
|
fprintf_filtered (stream, "%s = ", SYMBOL_SOURCE_NAME (new));
|
||||||
|
else
|
||||||
|
fprintf_filtered (stream, "<builtin> = ");
|
||||||
|
type_print (type, "", stream, 0);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
error ("Language not supported.");
|
||||||
|
}
|
||||||
|
fprintf_filtered (stream, ";\n");
|
||||||
|
}
|
||||||
|
|
||||||
/* Print a description of a type TYPE in the form of a declaration of a
|
/* Print a description of a type TYPE in the form of a declaration of a
|
||||||
variable named VARSTRING. (VARSTRING is demangled if necessary.)
|
variable named VARSTRING. (VARSTRING is demangled if necessary.)
|
||||||
Output goes to STREAM (via stdio).
|
Output goes to STREAM (via stdio).
|
||||||
|
|
|
@ -536,7 +536,7 @@ extern void print_variable_value (struct symbol * var,
|
||||||
|
|
||||||
extern int check_field (value_ptr, const char *);
|
extern int check_field (value_ptr, const char *);
|
||||||
|
|
||||||
extern void c_typedef_print (struct type * type, struct symbol * news,
|
extern void typedef_print (struct type * type, struct symbol * news,
|
||||||
struct ui_file * stream);
|
struct ui_file * stream);
|
||||||
|
|
||||||
extern char *internalvar_name (struct internalvar *var);
|
extern char *internalvar_name (struct internalvar *var);
|
||||||
|
|
Loading…
Reference in a new issue