10d48c59b0
Adds Rust symbol demangler. Rust mangles symbols using GNU_V3 style, adding a hash and various special character subtitutions. This adds a new rust style to cplus_demangle and adds 3 helper functions rust_demangle, rust_demangle_sym and rust_is_mangled. rust-demangle.c was written by David. Mark did the code formatting to GNU style and integration into the gcc/libiberty build system and testsuite. include/ChangeLog: 2016-11-03 David Tolnay <dtolnay@gmail.com> Mark Wielaard <mark@klomp.org> * demangle.h (DMGL_RUST): New macro. (DMGL_STYLE_MASK): Add DMGL_RUST. (demangling_styles): Add dlang_rust. (RUST_DEMANGLING_STYLE_STRING): New macro. (RUST_DEMANGLING): New macro. (rust_demangle): New prototype. (rust_is_mangled): Likewise. (rust_demangle_sym): Likewise. libiberty/ChangeLog: 2016-11-03 David Tolnay <dtolnay@gmail.com> Mark Wielaard <mark@klomp.org> * Makefile.in (CFILES): Add rust-demangle.c. (REQUIRED_OFILES): Add rust-demangle.o. * cplus-dem.c (libiberty_demanglers): Add rust_demangling case. (cplus_demangle): Handle RUST_DEMANGLING. (rust_demangle): New function. * rust-demangle.c: New file. * testsuite/Makefile.in (really-check): Add check-rust-demangle. (check-rust-demangle): New rule. * testsuite/rust-demangle-expected: New file. Co-Authored-By: Mark Wielaard <mark@klomp.org> From-SVN: r242524 |
||
---|---|---|
.. | ||
gdb | ||
ansidecl.h | ||
ChangeLog | ||
ChangeLog-9103 | ||
ChangeLog.jit | ||
COPYING | ||
COPYING3 | ||
demangle.h | ||
dwarf2.def | ||
dwarf2.h | ||
dyn-string.h | ||
environ.h | ||
fibheap.h | ||
filenames.h | ||
floatformat.h | ||
fnmatch.h | ||
gcc-c-fe.def | ||
gcc-c-interface.h | ||
gcc-interface.h | ||
getopt.h | ||
gomp-constants.h | ||
hashtab.h | ||
leb128.h | ||
libiberty.h | ||
longlong.h | ||
lto-symtab.h | ||
md5.h | ||
objalloc.h | ||
obstack.h | ||
partition.h | ||
plugin-api.h | ||
safe-ctype.h | ||
sha1.h | ||
simple-object.h | ||
sort.h | ||
splay-tree.h | ||
symcat.h | ||
timeval-utils.h | ||
vtv-change-permission.h | ||
xregex2.h | ||
xregex.h | ||
xtensa-config.h |