aboutsummaryrefslogtreecommitdiff
path: root/libcxxabi
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2018-11-11 10:09:06 +0000
committerNico Weber <nicolasweber@gmx.de>2018-11-11 10:09:06 +0000
commit966c180ad22600f1936ee73cd51b32bef1be2af4 (patch)
tree6d28bad55c811ec92acb61d04a5c5a83389b8fce /libcxxabi
parent6808bc0f45579c454e9699f6e8ee097d51bbdfe9 (diff)
Port LLVM r346606 to libcxxabi.
llvm-svn: 346607
Diffstat (limited to 'libcxxabi')
-rw-r--r--libcxxabi/src/cxa_demangle.cpp2
-rw-r--r--libcxxabi/src/demangle/Utility.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/libcxxabi/src/cxa_demangle.cpp b/libcxxabi/src/cxa_demangle.cpp
index 69fdca4e939b..f227addbdaec 100644
--- a/libcxxabi/src/cxa_demangle.cpp
+++ b/libcxxabi/src/cxa_demangle.cpp
@@ -352,7 +352,7 @@ __cxa_demangle(const char *MangledName, char *Buf, size_t *N, int *Status) {
if (AST == nullptr)
InternalStatus = demangle_invalid_mangled_name;
- else if (initializeOutputStream(Buf, N, S, 1024))
+ else if (!initializeOutputStream(Buf, N, S, 1024))
InternalStatus = demangle_memory_alloc_failure;
else {
assert(Parser.ForwardTemplateRefs.empty());
diff --git a/libcxxabi/src/demangle/Utility.h b/libcxxabi/src/demangle/Utility.h
index 86113763031b..b5e9b5e42cff 100644
--- a/libcxxabi/src/demangle/Utility.h
+++ b/libcxxabi/src/demangle/Utility.h
@@ -176,13 +176,13 @@ inline bool initializeOutputStream(char *Buf, size_t *N, OutputStream &S,
if (Buf == nullptr) {
Buf = static_cast<char *>(std::malloc(InitSize));
if (Buf == nullptr)
- return true;
+ return false;
BufferSize = InitSize;
} else
BufferSize = *N;
S.reset(Buf, BufferSize);
- return false;
+ return true;
}
} // namespace