23 #if !defined (LANGUAGE_H)
40 #define MAX_FORTRAN_DIMS 7
136 const char *lookup_name);
193 const char *
encoding,
int force_ellipses,
197 struct ui_file * stream,
int quoter);
235 struct ui_file *stream,
int recurse,
236 const struct value *val,
250 struct value *(*la_read_var_value) (
struct symbol *var,
251 struct frame_info *frame);
270 struct symbol *(*la_lookup_symbol_nonlocal) (
const struct language_defn *,
272 const struct block *,
276 struct type *(*la_lookup_transparent_type) (
const char *);
279 char *(*la_demangle) (
const char *mangled,
int options);
282 char *(*la_class_name_from_physname) (
const char *physname);
297 char *(*la_word_break_characters) (void);
304 VEC (
char_ptr) *(*la_make_symbol_completion_list) (
const char *text,
332 struct type **chartype,
const char **charset);
392 const struct block *expr_block,
402 #define LANG_MAGIC 910823L
464 #define RANGE_CHECK (range_check != range_check_off)
468 #define CAST_IS_CONVERSION(LANG) ((LANG)->la_language == language_c || \
469 (LANG)->la_language == language_cplus || \
470 (LANG)->la_language == language_objc)
482 #define LA_PRINT_TYPE(type,varstring,stream,show,level,flags) \
483 (current_language->la_print_type(type,varstring,stream,show,level,flags))
485 #define LA_PRINT_TYPEDEF(type,new_symbol,stream) \
486 (current_language->la_print_typedef(type,new_symbol,stream))
488 #define LA_VAL_PRINT(type,valaddr,offset,addr,stream,val,recurse,options) \
489 (current_language->la_val_print(type,valaddr,offset,addr,stream, \
490 val,recurse,options))
491 #define LA_VALUE_PRINT(val,stream,options) \
492 (current_language->la_value_print(val,stream,options))
494 #define LA_PRINT_CHAR(ch, type, stream) \
495 (current_language->la_printchar(ch, type, stream))
496 #define LA_PRINT_STRING(stream, elttype, string, length, encoding, force_ellipses, options) \
497 (current_language->la_printstr(stream, elttype, string, length, \
498 encoding, force_ellipses,options))
499 #define LA_EMIT_CHAR(ch, type, stream, quoter) \
500 (current_language->la_emitchar(ch, type, stream, quoter))
501 #define LA_GET_STRING(value, buffer, length, chartype, encoding) \
502 (current_language->la_get_string(value, buffer, length, chartype, encoding))
504 #define LA_PRINT_ARRAY_INDEX(index_value, stream, options) \
505 (current_language->la_print_array_index(index_value, stream, options))
507 #define LA_ITERATE_OVER_SYMBOLS(BLOCK, NAME, DOMAIN, CALLBACK, DATA) \
508 (current_language->la_iterate_over_symbols (BLOCK, NAME, DOMAIN, CALLBACK, \
517 #define PRINT_LITERAL_FORM(c) \
519 && ((c) < 0x7F || (c) >= 0xA0) \
520 && (!sevenbit_strings || (c) < 0x80))
554 const char *mangled,
int options);
558 const char *physname);
582 struct type **char_type,
const char **charset);
585 struct type **char_type,
const char **charset);
struct symbol * language_lookup_primitive_type_as_symbol(const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
CORE_ADDR(* skip_trampoline)(struct frame_info *, CORE_ADDR)
int default_pass_by_reference(struct type *type)
void(* la_print_typedef)(struct type *type, struct symbol *new_symbol, struct ui_file *stream)
int( symbol_found_callback_ftype)(struct symbol *sym, void *data)
const struct language_defn * current_language
int(* la_pass_by_reference)(struct type *type)
const char * language_str(enum language)
void(* la_printstr)(struct ui_file *stream, struct type *elttype, const gdb_byte *string, unsigned int length, const char *encoding, int force_ellipses, const struct value_print_options *)
void default_get_string(struct value *value, gdb_byte **buffer, int *length, struct type **char_type, const char **charset)
enum case_sensitivity la_case_sensitivity
struct type ** const(pascal_builtin_types[])
const char * symbol_search_name(const struct general_symbol_info *gsymbol)
void(* la_emitchar)(int ch, struct type *chtype, struct ui_file *stream, int quoter)
void int value_true(struct value *)
struct type * language_string_char_type(const struct language_defn *l, struct gdbarch *gdbarch)
enum domain_enum_tag domain_enum
enum language la_language
void default_print_typedef(struct type *type, struct symbol *new_symbol, struct ui_file *stream)
struct type * string_char_type
void(* la_language_arch_info)(struct gdbarch *, struct language_arch_info *)
char * language_demangle(const struct language_defn *current_language, const char *mangled, int options)
char * language_class_name_from_physname(const struct language_defn *, const char *physname)
int(* symbol_name_cmp_ftype)(const char *symbol_search_name, const char *lookup_name)
const struct exp_descriptor * la_exp_desc
CORE_ADDR skip_language_trampoline(struct frame_info *, CORE_ADDR pc)
struct type * language_bool_type(const struct language_defn *l, struct gdbarch *gdbarch)
enum array_ordering la_array_ordering
void(* la_val_print)(struct type *type, const gdb_byte *contents, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options)
struct symbol ** primitive_type_symbols
struct type * bool_type_default
enum language language_enum(char *str)
const struct lang_varobj_ops * la_varobj_ops
void add_language(const struct language_defn *)
const char * bool_type_symbol
VEC(char_ptr)*(*la_make_symbol_completion_list)(const char *text
void range_error(const char *,...) ATTRIBUTE_PRINTF(1
enum language get_frame_language(void)
int(* la_parser)(struct parser_state *)
static struct symbol * new_symbol(struct die_info *, struct type *, struct dwarf2_cu *)
void(* la_printchar)(int ch, struct type *chtype, struct ui_file *stream)
const struct language_defn * language_def(enum language)
void(* la_print_type)(struct type *, const char *, struct ui_file *, int, int, const struct type_print_options *)
const char enum type_code code
void c_get_string(struct value *value, gdb_byte **buffer, int *length, struct type **char_type, const char **charset)
const char * la_natural_name
struct type * language_lookup_primitive_type(const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
const char const char int
enum language set_language(enum language)
enum range_check la_range_check
const struct op_print * la_op_print_tab
int language_pass_by_reference(struct type *type)
char * default_word_break_characters(void)
void default_print_array_index(struct value *index_value, struct ui_file *stream, const struct value_print_options *options)
symbol_name_cmp_ftype(* la_get_symbol_name_cmp)(const char *lookup_name)
static void ATTRIBUTE_PRINTF(6, 0)
int pointer_type(struct type *)
void(* la_iterate_over_symbols)(const struct block *block, const char *name, domain_enum domain, symbol_found_callback_ftype *callback, void *data)
enum macro_expansion la_macro_expansion
void(* la_get_string)(struct value *value, gdb_byte **buffer, int *length, struct type **chartype, const char **charset)
struct type ** primitive_type_vector
void(* la_value_print)(struct value *, struct ui_file *, const struct value_print_options *)
void(* la_print_array_index)(struct value *index_value, struct ui_file *stream, const struct value_print_options *options)
void(* la_post_parser)(struct expression **expp, int void_context_p)
const struct language_defn * expected_language