X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fd-lang.h;h=96b002c717d83abdcf44f98f132c4bf998c80fa6;hb=5bca320a3d47a20152308ea7686f12c19e5f80b7;hp=8834a1d6c0a42ac0ef90640ce03db3b89293654e;hpb=ecd75fc8eed3bde86036141228074a20e55dcfc9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/d-lang.h b/gdb/d-lang.h index 8834a1d6c0..96b002c717 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-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2021 Free Software Foundation, Inc. This file is part of GDB. @@ -22,12 +22,64 @@ #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, - int embedded_offset, CORE_ADDR address, - struct ui_file *stream, int recurse, - const struct value *val, - const struct value_print_options *options); +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 *); + +/* Implement la_value_print_inner for D. */ + +extern void d_value_print_inner (struct value *val, + struct ui_file *stream, int recurse, + const struct value_print_options *options); #endif /* !defined (D_LANG_H) */