4 Commits

Author SHA1 Message Date
Nick Desaulniers
12d967c95f [Damangle] convert rustDemangle to use std::string_view
I was doing this API conversion to use std::string_view top-down in
D149104, but this exposed issues in individual demanglers that needed to
get fixed first. There's no issue with the conversion for the Rust
demangler, so convert it first.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D149784
2023-06-02 15:08:14 -07:00
Nathan Sidwell
201c4b9cc4 [demangler] Rust demangler buffer return
The rust demangler has some odd buffer handling code, which will copy
the demangled string into the provided buffer, if it will fit.
Otherwise it uses the allocated buffer it made.  But the length of the
incoming buffer will have come from a previous call, which was the
length of the demangled string -- not the buffer size.  And of course,
we're unconditionally allocating a temporary buffer in the first
place.  So we don't actually get buffer reuse, and we get a memcpy in
somecases.

However, nothing in LLVM ever passes in a non-null pointer.  Neither
does anything pass in a status pointer that is then made use of.  The
only exercise these have is in the test suite.

So let's just make the rust demangler have the same API as the dlang
demangler.

Reviewed By: tmiasko

Differential Revision: https://reviews.llvm.org/D123420
2022-04-13 08:50:04 -07:00
Simon Pilgrim
d789ed11ea Fix implicit dependency on <string> header. NFCI. 2021-06-11 10:24:14 +01:00
Tomasz Miąsko
0e7c2aeaa8 Add fuzzer for Rust demangler
Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D101823
2021-05-05 12:50:50 -07:00