mirror of git://gcc.gnu.org/git/gcc.git
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 | ||
| COPYING | ||
| COPYING3 | ||
| ChangeLog | ||
| ChangeLog-9103 | ||
| ChangeLog.jit | ||
| ansidecl.h | ||
| 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 | ||
| xregex.h | ||
| xregex2.h | ||
| xtensa-config.h | ||