diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-23 18:36:14 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-23 18:36:14 +0000 |
commit | 23c22e011dfc2d85c94b55d43f6334f723fad09d (patch) | |
tree | 2fadd5830c2d708e5dd314b70206728b68cc62de /libiberty/cplus-dem.c | |
parent | 7fb36be3441dec900fc151139fcf7d84b8caff9d (diff) | |
download | gcc-23c22e011dfc2d85c94b55d43f6334f723fad09d.tar.gz |
include/:
* demangle.h (DMGL_DLANG): New macro.
(DMGL_STYLE_MASK): Add DMGL_DLANG.
(demangling_styles): Add dlang_demangling.
(DLANG_DEMANGLING_STYLE_STRING): New macro.
(DLANG_DEMANGLING): New macro.
(dlang_demangle): New prototype.
libiberty/:
* Makefile.in (CFILES): Add d-demangle.c.
(REQUIRED_OFILES): Add d-demangle.o.
* cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
(cplus_demangle): Likewise.
* d-demangle.c: New file.
* testsuite/Makefile.in (really-check): Add check-d-demangle.
* testsuite/d-demangle-expected: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215530 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/cplus-dem.c')
-rw-r--r-- | libiberty/cplus-dem.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 52767cc8fde..c68b9813de2 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -306,6 +306,12 @@ const struct demangler_engine libiberty_demanglers[] = } , { + DLANG_DEMANGLING_STYLE_STRING, + dlang_demangling, + "DLANG style demangling" + } + , + { NULL, unknown_demangling, NULL } }; @@ -870,6 +876,13 @@ cplus_demangle (const char *mangled, int options) if (GNAT_DEMANGLING) return ada_demangle (mangled, options); + if (DLANG_DEMANGLING) + { + ret = dlang_demangle (mangled, options); + if (ret) + return ret; + } + ret = internal_cplus_demangle (work, mangled); squangle_mop_up (work); return (ret); |