summaryrefslogtreecommitdiffstats
path: root/gdb/language.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/language.h')
-rw-r--r--gdb/language.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/gdb/language.h b/gdb/language.h
index 04d4da2604..ba28540b56 100644
--- a/gdb/language.h
+++ b/gdb/language.h
@@ -31,14 +31,6 @@ struct frame_info;
struct expression;
struct ui_file;
-/* This used to be included to configure GDB for one or more specific
- languages. Now it is left out to configure for all of them. FIXME. */
-/* #include "lang_def.h" */
-#define _LANG_c
-#define _LANG_m2
-#define _LANG_fortran
-#define _LANG_pascal
-
#define MAX_FORTRAN_DIMS 7 /* Maximum number of F77 array dims */
/* range_mode ==
@@ -192,6 +184,13 @@ struct language_defn
void (*la_print_type) (struct type *, char *, struct ui_file *, int,
int);
+ /* Print a typedef using syntax appropriate for this language.
+ TYPE is the underlying type. NEW_SYMBOL is the symbol naming
+ the type. STREAM is the output stream on which to print. */
+
+ void (*la_print_typedef) (struct type *type, struct symbol *new_symbol,
+ struct ui_file *stream);
+
/* Print a value using syntax appropriate for this language. */
int (*la_val_print) (struct type *, const gdb_byte *, int, CORE_ADDR,
@@ -350,6 +349,9 @@ extern enum language set_language (enum language);
#define LA_PRINT_TYPE(type,varstring,stream,show,level) \
(current_language->la_print_type(type,varstring,stream,show,level))
+#define LA_PRINT_TYPEDEF(type,new_symbol,stream) \
+ (current_language->la_print_typedef(type,new_symbol,stream))
+
#define LA_VAL_PRINT(type,valaddr,offset,addr,stream,fmt,deref,recurse,pretty) \
(current_language->la_val_print(type,valaddr,offset,addr,stream,fmt,deref, \
recurse,pretty))
@@ -468,4 +470,8 @@ int language_pass_by_reference (struct type *type);
independent of this. */
int default_pass_by_reference (struct type *type);
+/* The default implementation of la_print_typedef. */
+void default_print_typedef (struct type *type, struct symbol *new_symbol,
+ struct ui_file *stream);
+
#endif /* defined (LANGUAGE_H) */
OpenPOWER on IntegriCloud