summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <eddyb@lyken.rs>2019-11-16 16:32:50 +0100
committerJeff Law <law@gcc.gnu.org>2019-11-16 08:32:50 -0700
commit32fc3719e06899d43e2298ad6d0028efe5ec3024 (patch)
tree6e8ed402acee2f31567b1089bbf6877a76127df3 /include
parentf73cb38f6530432ba15abf4bb6a58188479f1bc3 (diff)
[PATCH] Refactor rust-demangle to be independent of C++ demangling.
* demangle.h (rust_demangle_callback): Add. * cplus-dem.c (cplus_demangle): Use rust_demangle directly. (rust_demangle): Remove. * rust-demangle.c (is_prefixed_hash): Rename to is_legacy_prefixed_hash. (parse_lower_hex_nibble): Rename to decode_lower_hex_nibble. (parse_legacy_escape): Rename to decode_legacy_escape. (rust_is_mangled): Remove. (struct rust_demangler): Add. (peek): Add. (next): Add. (struct rust_mangled_ident): Add. (parse_ident): Add. (rust_demangle_sym): Remove. (print_str): Add. (PRINT): Add. (print_ident): Add. (rust_demangle_callback): Add. (struct str_buf): Add. (str_buf_reserve): Add. (str_buf_append): Add. (str_buf_demangle_callback): Add. (rust_demangle): Add. * rust-demangle.h: Remove. From-SVN: r278358
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog4
-rw-r--r--include/demangle.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 364fa72d457..5e18fa3d5a6 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2019-10-22 Eduard-Mihai Burtescu <eddyb@lyken.rs>
+
+ * demangle.h (rust_demangle_callback): Add.
+
2019-11-13 Andrew Stubbs <ams@codesourcery.com>
Kwok Cheung Yeung <kcy@codesourcery.com>
Julian Brown <julian@codesourcery.com>
diff --git a/include/demangle.h b/include/demangle.h
index 06c32571d5c..ce7235d13f3 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -159,6 +159,11 @@ ada_demangle (const char *mangled, int options);
extern char *
dlang_demangle (const char *mangled, int options);
+extern int
+rust_demangle_callback (const char *mangled, int options,
+ demangle_callbackref callback, void *opaque);
+
+
extern char *
rust_demangle (const char *mangled, int options);