diff options
author | David Tolnay <dtolnay@gmail.com> | 2016-11-16 23:09:27 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2016-11-16 23:09:27 +0000 |
commit | 10d48c59b0df93ea62b2f5d5850e10a60c43acff (patch) | |
tree | 3b8f116c9b4374f4fdcfa2ea9deeb92b304dde92 /libiberty/testsuite/Makefile.in | |
parent | 46b2baa723df876837763f269717413d04a226e0 (diff) | |
download | gcc-10d48c59b0df93ea62b2f5d5850e10a60c43acff.zip gcc-10d48c59b0df93ea62b2f5d5850e10a60c43acff.tar.gz gcc-10d48c59b0df93ea62b2f5d5850e10a60c43acff.tar.bz2 |
libiberty: Add Rust symbol demangling.
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
Diffstat (limited to 'libiberty/testsuite/Makefile.in')
-rw-r--r-- | libiberty/testsuite/Makefile.in | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libiberty/testsuite/Makefile.in b/libiberty/testsuite/Makefile.in index 8f5f7b5..da0b2f4 100644 --- a/libiberty/testsuite/Makefile.in +++ b/libiberty/testsuite/Makefile.in @@ -45,8 +45,8 @@ all: # CHECK is set to "really_check" or the empty string by configure. check: @CHECK@ -really-check: check-cplus-dem check-d-demangle check-pexecute check-expandargv \ - check-strtol +really-check: check-cplus-dem check-d-demangle check-rust-demangle \ + check-pexecute check-expandargv check-strtol # Run some tests of the demangler. check-cplus-dem: test-demangle $(srcdir)/demangle-expected @@ -55,6 +55,9 @@ check-cplus-dem: test-demangle $(srcdir)/demangle-expected check-d-demangle: test-demangle $(srcdir)/d-demangle-expected ./test-demangle < $(srcdir)/d-demangle-expected +check-rust-demangle: test-demangle $(srcdir)/rust-demangle-expected + ./test-demangle < $(srcdir)/rust-demangle-expected + # Check the pexecute code. check-pexecute: test-pexecute ./test-pexecute |