aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Demangle/ItaniumDemangle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Demangle/ItaniumDemangle.cpp')
-rw-r--r--llvm/lib/Demangle/ItaniumDemangle.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/lib/Demangle/ItaniumDemangle.cpp b/llvm/lib/Demangle/ItaniumDemangle.cpp
index 7a7bcd3..e97ceeb 100644
--- a/llvm/lib/Demangle/ItaniumDemangle.cpp
+++ b/llvm/lib/Demangle/ItaniumDemangle.cpp
@@ -365,9 +365,8 @@ public:
using Demangler = itanium_demangle::ManglingParser<DefaultAllocator>;
-char *llvm::itaniumDemangle(const char *MangledName, char *Buf,
- size_t *N, int *Status) {
- if (MangledName == nullptr || (Buf != nullptr && N == nullptr)) {
+char *llvm::itaniumDemangle(const char *MangledName, int *Status) {
+ if (MangledName == nullptr) {
if (Status)
*Status = demangle_invalid_args;
return nullptr;
@@ -377,15 +376,14 @@ char *llvm::itaniumDemangle(const char *MangledName, char *Buf,
Demangler Parser(MangledName, MangledName + std::strlen(MangledName));
Node *AST = Parser.parse();
+ char *Buf;
if (AST == nullptr)
InternalStatus = demangle_invalid_mangled_name;
else {
- OutputBuffer OB(Buf, N);
+ OutputBuffer OB;
assert(Parser.ForwardTemplateRefs.empty());
AST->print(OB);
OB += '\0';
- if (N != nullptr)
- *N = OB.getCurrentPosition();
Buf = OB.getBuffer();
}