X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fd-lang.h;h=956c1923a6942b2b2eb7248398f50827f4ba37e6;hb=9b30da15e72bd4e8265169bfd511272aa3875738;hp=fb6678a16d0437584f1cfbca43352030f17d5c63;hpb=28e7fd62340426746f9c896cbc40c5d374ec47aa;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/d-lang.h b/gdb/d-lang.h index fb6678a16d..956c1923a6 100644 --- a/gdb/d-lang.h +++ b/gdb/d-lang.h @@ -1,6 +1,6 @@ /* D language support definitions for GDB, the GNU debugger. - Copyright (C) 2005-2013 Free Software Foundation, Inc. + Copyright (C) 2005-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -22,12 +22,66 @@ #include "symtab.h" +/* Language specific builtin types for D. Any additional types added + should be kept in sync with enum d_primitive_types, where these + types are documented. */ + +struct builtin_d_type +{ + struct type *builtin_void; + struct type *builtin_bool; + struct type *builtin_byte; + struct type *builtin_ubyte; + struct type *builtin_short; + struct type *builtin_ushort; + struct type *builtin_int; + struct type *builtin_uint; + struct type *builtin_long; + struct type *builtin_ulong; + struct type *builtin_cent; + struct type *builtin_ucent; + struct type *builtin_float; + struct type *builtin_double; + struct type *builtin_real; + struct type *builtin_ifloat; + struct type *builtin_idouble; + struct type *builtin_ireal; + struct type *builtin_cfloat; + struct type *builtin_cdouble; + struct type *builtin_creal; + struct type *builtin_char; + struct type *builtin_wchar; + struct type *builtin_dchar; +}; + +/* Defined in d-exp.y. */ + +extern int d_parse (struct parser_state *); + +/* Defined in d-lang.c */ + +extern const char *d_main_name (void); + extern char *d_demangle (const char *mangled, int options); -extern void d_val_print (struct type *type, const gdb_byte *valaddr, +extern const struct builtin_d_type *builtin_d_type (struct gdbarch *); + +/* Defined in d-namespace.c */ + +extern struct block_symbol d_lookup_symbol_nonlocal (const struct language_defn *, + const char *, + const struct block *, + const domain_enum); + +extern struct block_symbol d_lookup_nested_symbol (struct type *, const char *, + const struct block *); + +/* Defined in d-valprint.c */ + +extern void d_val_print (struct type *type, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options); #endif /* !defined (D_LANG_H) */