diff options
author | Pirama Arumuga Nainar <pirama@google.com> | 2019-01-14 10:59:57 -0800 |
---|---|---|
committer | Pirama Arumuga Nainar <pirama@google.com> | 2019-01-14 10:59:57 -0800 |
commit | 248971e9334f7a1b5e8b88db16049bfc21f558cb (patch) | |
tree | 42bf3fb80a4cc9937949fdfcb53279152197552a | |
parent | 19438310aa4421ec88e9da9e8f41bdcd5009fa93 (diff) | |
parent | 307bb62985575b2e3216a8cfd7e122e0574f33a9 (diff) | |
download | libcxxabi-248971e9334f7a1b5e8b88db16049bfc21f558cb.tar.gz |
Merge 307bb62 for LLVM update to 349610
Change-Id: I171a8d418e753fd4e96a9e58ae14ebf1a20f3979
-rw-r--r-- | cmake/Modules/HandleCompilerRT.cmake | 3 | ||||
-rw-r--r-- | src/cxa_demangle.cpp | 2 | ||||
-rw-r--r-- | src/demangle/ItaniumDemangle.h | 6 | ||||
-rw-r--r-- | src/demangle/Utility.h | 4 | ||||
-rw-r--r-- | src/stdlib_exception.cpp | 30 |
5 files changed, 6 insertions, 39 deletions
diff --git a/cmake/Modules/HandleCompilerRT.cmake b/cmake/Modules/HandleCompilerRT.cmake index 945de58..1f95327 100644 --- a/cmake/Modules/HandleCompilerRT.cmake +++ b/cmake/Modules/HandleCompilerRT.cmake @@ -8,6 +8,9 @@ function(find_compiler_rt_library name dest) if (CMAKE_CXX_COMPILER_ID MATCHES Clang AND CMAKE_CXX_COMPILER_TARGET) list(APPEND CLANG_COMMAND "--target=${CMAKE_CXX_COMPILER_TARGET}") endif() + get_property(LIBCXXABI_CXX_FLAGS CACHE CMAKE_CXX_FLAGS PROPERTY VALUE) + string(REPLACE " " ";" LIBCXXABI_CXX_FLAGS "${LIBCXXABI_CXX_FLAGS}") + list(APPEND CLANG_COMMAND ${LIBCXXABI_CXX_FLAGS}) execute_process( COMMAND ${CLANG_COMMAND} RESULT_VARIABLE HAD_ERROR diff --git a/src/cxa_demangle.cpp b/src/cxa_demangle.cpp index 69fdca4..f227add 100644 --- a/src/cxa_demangle.cpp +++ b/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/src/demangle/ItaniumDemangle.h b/src/demangle/ItaniumDemangle.h index f992645..9e9d183 100644 --- a/src/demangle/ItaniumDemangle.h +++ b/src/demangle/ItaniumDemangle.h @@ -2162,9 +2162,6 @@ template <typename Derived, typename Alloc> struct AbstractManglingParser { // conversion operator's type, and are resolved in the enclosing <encoding>. PODSmallVector<ForwardTemplateReference *, 4> ForwardTemplateRefs; - void (*TypeCallback)(void *, const char *) = nullptr; - void *TypeCallbackContext = nullptr; - bool TryToParseTemplateArgs = true; bool PermitForwardTemplateReferences = false; bool ParsingLambdaParams = false; @@ -3458,9 +3455,6 @@ template <typename Derived, typename Alloc> Node *AbstractManglingParser<Derived, Alloc>::parseType() { Node *Result = nullptr; - if (TypeCallback != nullptr) - TypeCallback(TypeCallbackContext, First); - switch (look()) { // ::= <qualified-type> case 'r': diff --git a/src/demangle/Utility.h b/src/demangle/Utility.h index 8611376..b5e9b5e 100644 --- a/src/demangle/Utility.h +++ b/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 diff --git a/src/stdlib_exception.cpp b/src/stdlib_exception.cpp index 6c09102..0308e16 100644 --- a/src/stdlib_exception.cpp +++ b/src/stdlib_exception.cpp @@ -69,34 +69,4 @@ bad_array_new_length::what() const _NOEXCEPT return "bad_array_new_length"; } -// bad_array_length - -#ifndef _LIBCPP_BAD_ARRAY_LENGTH_DEFINED - -class _LIBCPP_EXCEPTION_ABI bad_array_length - : public bad_alloc -{ -public: - bad_array_length() _NOEXCEPT; - virtual ~bad_array_length() _NOEXCEPT; - virtual const char* what() const _NOEXCEPT; -}; - -#endif // _LIBCPP_BAD_ARRAY_LENGTH_DEFINED - -bad_array_length::bad_array_length() _NOEXCEPT -{ -} - -bad_array_length::~bad_array_length() _NOEXCEPT -{ -} - -const char* -bad_array_length::what() const _NOEXCEPT -{ - return "bad_array_length"; -} - - } // std |