2000-09-04 Pierre Muller <muller@ics.u-strasbg.fr>
authorPierre Muller <muller@sourceware.org>
Mon, 4 Sep 2000 08:29:25 +0000 (08:29 +0000)
committerPierre Muller <muller@sourceware.org>
Mon, 4 Sep 2000 08:29:25 +0000 (08:29 +0000)
* 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.

gdb/ChangeLog
gdb/c-typeprint.c
gdb/symtab.c
gdb/typeprint.c
gdb/value.h

index a2b241a..453cbc4 100644 (file)
@@ -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,
index 5c73bbd..99dcba3 100644 (file)
@@ -58,54 +58,6 @@ static void c_type_print_cv_qualifier (struct type *, struct ui_file *,
 \f
 
 
-/* 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.  */
 
index 2e83933..4068fd0 100644 (file)
@@ -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 &&
index 7645d9b..b46f03f 100644 (file)
@@ -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).
index 2035e27..da95462 100644 (file)
@@ -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);