aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <eddyb@lyken.rs>2020-11-13 18:55:45 +0000
committerJonathan Wakely <jwakely@redhat.com>2020-11-13 18:59:09 +0000
commit84096498a7bd788599d4a7ca63543fc7c297645e (patch)
treea3186f3bef31f1cee7f33615a618a722f2a540db /gcc
parent16b00dc63f6106fe0964716ddca9af8a29fbf453 (diff)
downloadgcc-84096498a7bd788599d4a7ca63543fc7c297645e.zip
gcc-84096498a7bd788599d4a7ca63543fc7c297645e.tar.gz
gcc-84096498a7bd788599d4a7ca63543fc7c297645e.tar.bz2
libiberty: Support the new ("v0") mangling scheme in rust-demangle
This is the libiberty (mainly for binutils/gdb) counterpart of https://github.com/alexcrichton/rustc-demangle/pull/23. Relevant links for the new Rust mangling scheme (aka "v0"): * Rust RFC: https://github.com/rust-lang/rfcs/pull/2603 * tracking issue: https://github.com/rust-lang/rust/issues/60705 * implementation: https://github.com/rust-lang/rust/pull/57967 This implementation includes full support for UTF-8 identifiers via punycode, so I've included a testcase for that as well. libiberty/ChangeLog: * rust-demangle.c (struct rust_demangler): Add skipping_printing and bound_lifetime_depth fields. (eat): Add (v0-only). (parse_integer_62): Add (v0-only). (parse_opt_integer_62): Add (v0-only). (parse_disambiguator): Add (v0-only). (struct rust_mangled_ident): Add punycode{,_len} fields. (parse_ident): Support v0 identifiers. (print_str): Respect skipping_printing. (print_uint64): Add (v0-only). (print_uint64_hex): Add (v0-only). (print_ident): Respect skipping_printing, Support v0 identifiers. (print_lifetime_from_index): Add (v0-only). (demangle_binder): Add (v0-only). (demangle_path): Add (v0-only). (demangle_generic_arg): Add (v0-only). (demangle_type): Add (v0-only). (demangle_path_maybe_open_generics): Add (v0-only). (demangle_dyn_trait): Add (v0-only). (demangle_const): Add (v0-only). (demangle_const_uint): Add (v0-only). (basic_type): Add (v0-only). (rust_demangle_callback): Support v0 symbols. * testsuite/rust-demangle-expected: Add v0 testcases.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions