aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Demangle/RustDemangle.cpp
AgeCommit message (Collapse)AuthorFilesLines
2021-06-23[Demangle][Rust] Hide implementation details NFCTomasz Miąsko1-12/+205
Move content of the "public" header into the implementation file. This also renames two enumerations that were previously used through `rust_demangle::` scope, to avoid breaking a build bot with older version of GCC that rejects uses of enumerator through `E::A` if there is a variable with the same name as enumeration `E` in the scope. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D104362
2021-06-18[Demangle][Rust] Parse dot suffixTomasz Miąsko1-1/+9
Allow mangled names to include an arbitrary dot suffix, akin to vendor specific suffix in Itanium mangling. Primary motivation is a support for symbols renamed during ThinLTO import / promotion (ThinLTO is the default configuration for optimized builds in rustc). Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D104358
2021-06-08[Demangle][Rust] Parse const backreferencesTomasz Miąsko1-2/+10
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D103848
2021-06-08[Demangle][Rust] Parse type backreferencesTomasz Miąsko1-1/+9
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D103847
2021-06-08[Demangle][Rust] Parse path backreferencesTomasz Miąsko1-1/+5
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D103459
2021-06-07[Demangle][Rust] Parse instantiating crateTomasz Miąsko1-1/+4
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D103460
2021-06-07[Demangle][Rust] Parse dyn-trait-assoc-bindingTomasz Miąsko1-6/+26
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D103364
2021-06-07[Demangle][Rust] Parse dyn-traitTomasz Miąsko1-3/+12
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D103361
2021-06-07[Demangle][Rust] Parse dyn-boundsTomasz Miąsko1-0/+21
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D103151
2021-06-02[Demangle][Rust] Parse bindersTomasz Miąsko1-10/+73
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102729
2021-05-22[Demangle][Rust] Parse function signaturesTomasz Miąsko1-0/+44
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102581
2021-05-22[Demangle][Rust] Parse referencesTomasz Miąsko1-0/+10
Reviewed By: dblaikie Part of https://reviews.llvm.org/D102580
2021-05-22[Demangle][Rust] Parse raw pointersTomasz Miąsko1-0/+8
Reviewed By: dblaikie Part of https://reviews.llvm.org/D102580
2021-05-19[Demangle][Rust] Speculative fix for bot build failureTomasz Miąsko1-5/+5
> error: ‘InType’ is not a class, namespace, or enumeration
2021-05-19[Demangle][Rust] Parse tuplesTomasz Miąsko1-0/+13
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102579
2021-05-19[Demangle][Rust] Parse slice typeTomasz Miąsko1-0/+5
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102578
2021-05-19[Demangle][Rust] Parse array typeTomasz Miąsko1-5/+17
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102573
2021-05-19[Demangle][Rust] Parse named typesTomasz Miąsko1-15/+23
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102571
2021-05-15[Demangle][Rust] Parse trait definitionsTomasz Miąsko1-0/+8
Part of https://reviews.llvm.org/D102549
2021-05-15[Demangle][Rust] Parse trait implementationsTomasz Miąsko1-0/+9
Part of https://reviews.llvm.org/D102549
2021-05-15[Demangle][Rust] Parse inherent implementationsTomasz Miąsko1-0/+16
Part of https://reviews.llvm.org/D102549
2021-05-15[Demangle][Rust] Parse char constantsTomasz Miąsko1-1/+52
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102524
2021-05-15[Demangle][Rust] Parse bool constantsTomasz Miąsko1-1/+17
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102518
2021-05-14[Demangle][Rust] Parse integer constantsTomasz Miąsko1-38/+236
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102179
2021-05-10[Demangle][Rust] Parse basic typesTomasz Miąsko1-0/+97
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102142
2021-05-09[Demangle][Rust] Print special namespacesTomasz Miąsko1-15/+34
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D101821
2021-05-03[demangler] Initial support for the new Rust mangling schemeTomasz Miąsko1-0/+276
Add a demangling support for a small subset of a new Rust mangling scheme, with complete support planned as a follow up work. Intergate Rust demangling into llvm-cxxfilt and use llvm-cxxfilt for end-to-end testing. The new Rust mangling scheme uses "_R" as a prefix, which makes it easy to disambiguate it from other mangling schemes. The public API is modeled after __cxa_demangle / llvm::itaniumDemangle, since potential candidates for further integration use those. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D101444