Fix and update D demangling support in gdb to the current mangling ABI.

gdb/ChangeLog:
2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>

    * d-lang.h (d_parse_symbol): Add declaration.
    * d-lang.c (extract_identifiers)
    (extract_type_info): Remove functions.
    (parse_call_convention, parse_attributes)
    (parse_function_types, parse_function_args)
    (parse_type, parse_identifier, call_convention_p)
    (d_parse_symbol): New functions.
    (d_demangle): Use d_parse_symbol to demangle D symbols.

gdb/testsuite/ChangeLog:
2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>

* gdb.dlang/demangle.exp: New file.
This commit is contained in:
Iain Buclaw
2014-01-18 17:22:00 +00:00
parent 94b1b47ee1
commit ec9f644ac9
5 changed files with 823 additions and 139 deletions

View File

@ -62,6 +62,8 @@ extern char *d_demangle (const char *mangled, int options);
extern const struct builtin_d_type *builtin_d_type (struct gdbarch *);
extern const char *d_parse_symbol (struct obstack *, const char *);
/* Defined in d-valprint.c */
extern void d_val_print (struct type *type, const gdb_byte *valaddr,