diff options
author | Eduard-Mihai Burtescu <eddyb@lyken.rs> | 2019-11-16 16:32:50 +0100 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2019-11-16 08:32:50 -0700 |
commit | 32fc3719e06899d43e2298ad6d0028efe5ec3024 (patch) | |
tree | 6e8ed402acee2f31567b1089bbf6877a76127df3 /include | |
parent | f73cb38f6530432ba15abf4bb6a58188479f1bc3 (diff) | |
download | gcc-32fc3719e06899d43e2298ad6d0028efe5ec3024.zip gcc-32fc3719e06899d43e2298ad6d0028efe5ec3024.tar.gz gcc-32fc3719e06899d43e2298ad6d0028efe5ec3024.tar.bz2 |
[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/ChangeLog | 4 | ||||
-rw-r--r-- | include/demangle.h | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 364fa72..5e18fa3 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 06c3257..ce7235d 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); |