summaryrefslogtreecommitdiff
path: root/gdb/d-lang.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/d-lang.c')
-rw-r--r--gdb/d-lang.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/d-lang.c b/gdb/d-lang.c
index b25136dfb22..2eb7ffa108d 100644
--- a/gdb/d-lang.c
+++ b/gdb/d-lang.c
@@ -55,6 +55,15 @@ d_demangle (const char *symbol, int options)
return gdb_demangle (symbol, options | DMGL_DLANG);
}
+/* la_sniff_from_mangled_name implementation for D. */
+
+static int
+d_sniff_from_mangled_name (const char *mangled, char **demangled)
+{
+ *demangled = d_demangle (mangled, 0);
+ return *demangled != NULL;
+}
+
/* Table mapping opcodes into strings for printing operators
and precedences of the operators. */
static const struct op_print d_op_print_tab[] =
@@ -223,6 +232,7 @@ static const struct language_defn d_language_defn =
d_lookup_symbol_nonlocal,
basic_lookup_transparent_type,
d_demangle, /* Language specific symbol demangler. */
+ d_sniff_from_mangled_name,
NULL, /* Language specific
class_name_from_physname. */
d_op_print_tab, /* Expression operators for printing. */