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
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| gdb | Loading commit data... | |
| COPYING | Loading commit data... | |
| COPYING3 | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog-9103 | Loading commit data... | |
| ChangeLog.jit | Loading commit data... | |
| ansidecl.h | Loading commit data... | |
| demangle.h | Loading commit data... | |
| dwarf2.def | Loading commit data... | |
| dwarf2.h | Loading commit data... | |
| dyn-string.h | Loading commit data... | |
| environ.h | Loading commit data... | |
| fibheap.h | Loading commit data... | |
| filenames.h | Loading commit data... | |
| floatformat.h | Loading commit data... | |
| fnmatch.h | Loading commit data... | |
| gcc-c-fe.def | Loading commit data... | |
| gcc-c-interface.h | Loading commit data... | |
| gcc-interface.h | Loading commit data... | |
| getopt.h | Loading commit data... | |
| gomp-constants.h | Loading commit data... | |
| hashtab.h | Loading commit data... | |
| leb128.h | Loading commit data... | |
| libiberty.h | Loading commit data... | |
| longlong.h | Loading commit data... | |
| lto-symtab.h | Loading commit data... | |
| md5.h | Loading commit data... | |
| objalloc.h | Loading commit data... | |
| obstack.h | Loading commit data... | |
| partition.h | Loading commit data... | |
| plugin-api.h | Loading commit data... | |
| safe-ctype.h | Loading commit data... | |
| sha1.h | Loading commit data... | |
| simple-object.h | Loading commit data... | |
| sort.h | Loading commit data... | |
| splay-tree.h | Loading commit data... | |
| symcat.h | Loading commit data... | |
| timeval-utils.h | Loading commit data... | |
| vtv-change-permission.h | Loading commit data... | |
| xregex.h | Loading commit data... | |
| xregex2.h | Loading commit data... | |
| xtensa-config.h | Loading commit data... |