diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2014-01-18 17:18:23 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2014-01-18 18:10:47 +0000 |
commit | 94b1b47ee13476f376feddf808c63560c036cf1b (patch) | |
tree | 057f147503fdff8195a66016f6140c76b021c2cb /gdb/d-lang.h | |
parent | 6377854769ea85f2dd38aac9a9b11fded61245f3 (diff) | |
download | gdb-94b1b47ee13476f376feddf808c63560c036cf1b.zip gdb-94b1b47ee13476f376feddf808c63560c036cf1b.tar.gz gdb-94b1b47ee13476f376feddf808c63560c036cf1b.tar.bz2 |
Define all basic data types of D and add them to the primitive type
language vector.
gdb/ChangeLog:
2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org>
* d-lang.h (struct builtin_d_type): New data type.
(builtin_d_type): Add declaration.
* d-lang.c (d_language_arch_info, build_d_types)
(builtin_d_type): New functions.
(enum d_primitive_types): New data type.
(d_language_defn): Change c_language_arch_info to
d_language_arch_info.
(d_type_data): New static variable.
(_initialize_d_language): Initialize d_type_data.
gdb/testsuite/ChangeLog:
2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org>
* gdb.dlang/primitive-types.exp: New file.
Diffstat (limited to 'gdb/d-lang.h')
-rw-r--r-- | gdb/d-lang.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gdb/d-lang.h b/gdb/d-lang.h index 9ede338..455c808 100644 --- a/gdb/d-lang.h +++ b/gdb/d-lang.h @@ -22,12 +22,48 @@ #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-lang.c */ extern const char *d_main_name (void); extern char *d_demangle (const char *mangled, int options); +extern const struct builtin_d_type *builtin_d_type (struct gdbarch *); + +/* Defined in d-valprint.c */ + extern void d_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, |