diff options
Diffstat (limited to 'contrib/gdb/gdb/language.h')
-rw-r--r-- | contrib/gdb/gdb/language.h | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/contrib/gdb/gdb/language.h b/contrib/gdb/gdb/language.h index 941943b..e336869 100644 --- a/contrib/gdb/gdb/language.h +++ b/contrib/gdb/gdb/language.h @@ -134,12 +134,16 @@ struct language_defn void (*la_error) PARAMS ((char *)); /* Evaluate an expression. */ - struct value * (*evaluate_exp) PARAMS ((struct type*, struct expression *, + struct value * (*evaluate_exp) PARAMS ((struct type *, struct expression *, int *, enum noside)); - void (*la_printchar) PARAMS ((int, GDB_FILE *)); + void (*la_printchar) PARAMS ((int ch, GDB_FILE *stream)); - void (*la_printstr) PARAMS ((GDB_FILE *, char *, unsigned int, int)); + void (*la_printstr) PARAMS ((GDB_FILE *stream, char *string, + unsigned int length, int width, + int force_ellipses)); + + void (*la_emitchar) PARAMS ((int ch, GDB_FILE *stream, int quoter)); struct type *(*la_fund_type) PARAMS ((struct objfile *, int)); @@ -149,7 +153,7 @@ struct language_defn /* Print a value using syntax appropriate for this language. */ - int (*la_val_print) PARAMS ((struct type *, char *, CORE_ADDR, GDB_FILE *, + int (*la_val_print) PARAMS ((struct type *, char *, int, CORE_ADDR, GDB_FILE *, int, int, int, enum val_prettyprint)); /* Print a top-level value using syntax appropriate for this language. */ @@ -245,7 +249,7 @@ extern enum language_mode extern void language_info PARAMS ((int)); -extern void +extern enum language set_language PARAMS ((enum language)); @@ -260,8 +264,8 @@ set_language PARAMS ((enum language)); #define LA_PRINT_TYPE(type,varstring,stream,show,level) \ (current_language->la_print_type(type,varstring,stream,show,level)) -#define LA_VAL_PRINT(type,valaddr,addr,stream,fmt,deref,recurse,pretty) \ - (current_language->la_val_print(type,valaddr,addr,stream,fmt,deref, \ +#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)) #define LA_VALUE_PRINT(val,stream,fmt,pretty) \ (current_language->la_value_print(val,stream,fmt,pretty)) @@ -309,8 +313,10 @@ set_language PARAMS ((enum language)); #define LA_PRINT_CHAR(ch, stream) \ (current_language->la_printchar(ch, stream)) -#define LA_PRINT_STRING(stream, string, length, force_ellipses) \ - (current_language->la_printstr(stream, string, length, force_ellipses)) +#define LA_PRINT_STRING(stream, string, length, width, force_ellipses) \ + (current_language->la_printstr(stream, string, length, width, force_ellipses)) +#define LA_EMIT_CHAR(ch, stream, quoter) \ + (current_language->la_emitchar(ch, stream, quoter)) /* Test a character to decide whether it can be printed in literal form or needs to be printed in another representation. For example, @@ -318,8 +324,10 @@ set_language PARAMS ((enum language)); and the "other representation" is '\141'. The "other representation" is program language dependent. */ -#define PRINT_LITERAL_FORM(c) \ - ((c)>=0x20 && ((c)<0x7F || (c)>=0xA0) && (!sevenbit_strings || (c)<0x80)) +#define PRINT_LITERAL_FORM(c) \ + ((c) >= 0x20 \ + && ((c) < 0x7F || (c) >= 0xA0) \ + && (!sevenbit_strings || (c) < 0x80)) /* Return a format string for printf that will print a number in one of the local (language-specific) formats. Result is static and is |