mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
gdb
* scm-lang.c (scm_language_defn): Update. * p-typeprint.c (pascal_print_typedef): New function. * p-lang.h: (pascal_print_typedef): Declare. * p-lang.c (pascal_language_defn): Update. * objc-lang.c (objc_language_defn): Update. * m2-typeprint.c (m2_print_typedef): New function. * m2-lang.h (m2_print_typedef): Declare. * m2-lang.c (m2_language_defn): Update. * language.h (_LANG_c, _LANG_m2, _LANG_fortran, _LANG_pascal): Remove. (struct language_defn) <la_print_typedef>: New field. (default_print_typedef): Declare. (LA_PRINT_TYPEDEF): New define. * language.c (unknown_language_defn): Update. (auto_language_defn): Update. (local_language_defn): Update. * jv-lang.c (java_language_defn): Update. * f-lang.c (f_language_defn): Update. * c-typeprint.c (c_print_typedef): New function. * c-lang.h (c_print_typedef): Declare. * c-lang.c (c_language_defn): Update. (cplus_language_defn): Update. (asm_language_defn): Update. (minimal_language_defn): Update. * ada-lang.c (ada_language_defn): Update. * typeprint.c (default_print_typedef): New function. gdb/doc * gdbint.texinfo (Language Support): Remove text about omitting support for a language.
This commit is contained in:
@ -47,6 +47,7 @@ static void whatis_command (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. */
|
||||
@ -54,41 +55,16 @@ static void whatis_exp (char *, int);
|
||||
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
|
||||
|| strcmp (TYPE_NAME ((SYMBOL_TYPE (new))), SYMBOL_LINKAGE_NAME (new)) != 0)
|
||||
fprintf_filtered (stream, " %s", SYMBOL_PRINT_NAME (new));
|
||||
break;
|
||||
#endif
|
||||
#ifdef _LANG_m2
|
||||
case language_m2:
|
||||
fprintf_filtered (stream, "TYPE ");
|
||||
if (!TYPE_NAME (SYMBOL_TYPE (new))
|
||||
|| strcmp (TYPE_NAME ((SYMBOL_TYPE (new))), SYMBOL_LINKAGE_NAME (new)) != 0)
|
||||
fprintf_filtered (stream, "%s = ", SYMBOL_PRINT_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_PRINT_NAME (new));
|
||||
type_print (type, "", stream, 0);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
error (_("Language not supported."));
|
||||
}
|
||||
fprintf_filtered (stream, ";\n");
|
||||
LA_PRINT_TYPEDEF (type, new, stream);
|
||||
}
|
||||
|
||||
/* The default way to print a typedef. */
|
||||
|
||||
void
|
||||
default_print_typedef (struct type *type, struct symbol *new_symbol,
|
||||
struct ui_file *stream)
|
||||
{
|
||||
error (_("Language not supported."));
|
||||
}
|
||||
|
||||
/* Print a description of a type TYPE in the form of a declaration of a
|
||||
|
Reference in New Issue
Block a user