From 535aade664ac4170fe82e52c9addd686156220a1 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Wed, 16 Nov 2016 23:09:27 +0000 Subject: 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 Mark Wielaard * 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 Mark Wielaard * 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. --- libiberty/ChangeLog | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libiberty/ChangeLog') diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 1082431..7ae91ad 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,16 @@ +2016-11-03 David Tolnay + Mark Wielaard + + * 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. + 2016-11-15 Mark Wielaard * cp-demangle.c (d_expression_1): Make sure third expression -- cgit v1.1