aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPierre Muller <muller@sourceware.org>2000-09-04 08:29:25 +0000
committerPierre Muller <muller@sourceware.org>2000-09-04 08:29:25 +0000
commita5238fbc0302d1c9655b2285ce7b3071ee9e9f41 (patch)
treedfecafd0c05a75507080fceb8a851ecd9cd8f3a3 /gdb
parenta47cf5671637afe2982f6fc5840116c9dbec9b74 (diff)
downloadgdb-a5238fbc0302d1c9655b2285ce7b3071ee9e9f41.zip
gdb-a5238fbc0302d1c9655b2285ce7b3071ee9e9f41.tar.gz
gdb-a5238fbc0302d1c9655b2285ce7b3071ee9e9f41.tar.bz2
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/c-typeprint.c48
-rw-r--r--gdb/symtab.c2
-rw-r--r--gdb/typeprint.c55
-rw-r--r--gdb/value.h2
5 files changed, 67 insertions, 50 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a2b241a..453cbc4 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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>
* config/i386/nm-linux.h (PREPARE_TO_PROCEED, ATTCH_LWP,
diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
index 5c73bbd..99dcba3 100644
--- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c
@@ -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. */
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 2e83933..4068fd0 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -3830,7 +3830,7 @@ print_symbol_info (namespace_enum kind, struct symtab *s, struct symbol *sym,
/* Typedef that is not a C++ class */
if (kind == TYPES_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 */
else if (kind < TYPES_NAMESPACE ||
(kind == TYPES_NAMESPACE &&
diff --git a/gdb/typeprint.c b/gdb/typeprint.c
index 7645d9b..b46f03f 100644
--- a/gdb/typeprint.c
+++ b/gdb/typeprint.c
@@ -49,6 +49,61 @@ 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. */
+
+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
variable named VARSTRING. (VARSTRING is demangled if necessary.)
Output goes to STREAM (via stdio).
diff --git a/gdb/value.h b/gdb/value.h
index 2035e27..da95462 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -536,7 +536,7 @@ extern void print_variable_value (struct symbol * var,
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);
extern char *internalvar_name (struct internalvar *var);