Index: CMakeLists.txt =================================================================== --- CMakeLists.txt +++ CMakeLists.txt @@ -836,7 +836,6 @@ endif() # Put this before tblgen. Else we have a circular dependence. -add_subdirectory(lib/Demangle) add_subdirectory(lib/Support) add_subdirectory(lib/TableGen) Index: include/llvm/Support/Demangle/Demangle.h =================================================================== --- include/llvm/Support/Demangle/Demangle.h +++ include/llvm/Support/Demangle/Demangle.h @@ -1,4 +1,4 @@ -//===--- Demangle.h ---------------------------------------------*- C++ -*-===// +//===--- llvm/Support/Demangle/Demangle.h -----------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_DEMANGLE_DEMANGLE_H -#define LLVM_DEMANGLE_DEMANGLE_H +#ifndef LLVM_SUPPORT_DEMANGLE_DEMANGLE_H +#define LLVM_SUPPORT_DEMANGLE_DEMANGLE_H #include Index: lib/CMakeLists.txt =================================================================== --- lib/CMakeLists.txt +++ lib/CMakeLists.txt @@ -1,5 +1,4 @@ -# `Demangle', `Support' and `TableGen' libraries are added on the top-level -# CMakeLists.txt +# `Support' and `TableGen' libraries are added on the top-level CMakeLists.txt add_subdirectory(IR) add_subdirectory(FuzzMutate) Index: lib/DebugInfo/Symbolize/LLVMBuild.txt =================================================================== --- lib/DebugInfo/Symbolize/LLVMBuild.txt +++ lib/DebugInfo/Symbolize/LLVMBuild.txt @@ -19,4 +19,4 @@ type = Library name = Symbolize parent = DebugInfo -required_libraries = DebugInfoDWARF DebugInfoPDB Object Support Demangle +required_libraries = DebugInfoDWARF DebugInfoPDB Object Support Index: lib/DebugInfo/Symbolize/Symbolize.cpp =================================================================== --- lib/DebugInfo/Symbolize/Symbolize.cpp +++ lib/DebugInfo/Symbolize/Symbolize.cpp @@ -21,13 +21,13 @@ #include "llvm/DebugInfo/DWARF/DWARFContext.h" #include "llvm/DebugInfo/PDB/PDB.h" #include "llvm/DebugInfo/PDB/PDBContext.h" -#include "llvm/Demangle/Demangle.h" #include "llvm/Object/COFF.h" #include "llvm/Object/MachO.h" #include "llvm/Object/MachOUniversal.h" #include "llvm/Support/Casting.h" #include "llvm/Support/Compression.h" #include "llvm/Support/DataExtractor.h" +#include "llvm/Support/Demangle/Demangle.h" #include "llvm/Support/Errc.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" Index: lib/Demangle/CMakeLists.txt =================================================================== --- lib/Demangle/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -add_llvm_library(LLVMDemangle - ItaniumDemangle.cpp - MicrosoftDemangle.cpp - - ADDITIONAL_HEADER_DIRS - "${LLVM_MAIN_INCLUDE_DIR}/llvm/Demangle" -) Index: lib/Demangle/Compiler.h =================================================================== --- lib/Demangle/Compiler.h +++ /dev/null @@ -1,93 +0,0 @@ -//===--- Compiler.h ---------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -// -// This file contains a variety of feature test macros copied from -// include/llvm/Support/Compiler.h so that LLVMDemangle does not need to take -// a dependency on LLVMSupport. -//===----------------------------------------------------------------------===// - -#ifndef LLVM_DEMANGLE_COMPILER_H -#define LLVM_DEMANGLE_COMPILER_H - -#ifdef _MSC_VER -// snprintf is implemented in VS 2015 -#if _MSC_VER < 1900 -#define snprintf _snprintf_s -#endif -#endif - -#ifndef __has_feature -#define __has_feature(x) 0 -#endif - -#ifndef __has_cpp_attribute -#define __has_cpp_attribute(x) 0 -#endif - -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif - -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif - -#ifndef LLVM_GNUC_PREREQ -#if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) -#define LLVM_GNUC_PREREQ(maj, min, patch) \ - ((__GNUC__ << 20) + (__GNUC_MINOR__ << 10) + __GNUC_PATCHLEVEL__ >= \ - ((maj) << 20) + ((min) << 10) + (patch)) -#elif defined(__GNUC__) && defined(__GNUC_MINOR__) -#define LLVM_GNUC_PREREQ(maj, min, patch) \ - ((__GNUC__ << 20) + (__GNUC_MINOR__ << 10) >= ((maj) << 20) + ((min) << 10)) -#else -#define LLVM_GNUC_PREREQ(maj, min, patch) 0 -#endif -#endif - -#if __has_attribute(used) || LLVM_GNUC_PREREQ(3, 1, 0) -#define LLVM_ATTRIBUTE_USED __attribute__((__used__)) -#else -#define LLVM_ATTRIBUTE_USED -#endif - -#if __has_builtin(__builtin_unreachable) || LLVM_GNUC_PREREQ(4, 5, 0) -#define LLVM_BUILTIN_UNREACHABLE __builtin_unreachable() -#elif defined(_MSC_VER) -#define LLVM_BUILTIN_UNREACHABLE __assume(false) -#endif - -#if __has_attribute(noinline) || LLVM_GNUC_PREREQ(3, 4, 0) -#define LLVM_ATTRIBUTE_NOINLINE __attribute__((noinline)) -#elif defined(_MSC_VER) -#define LLVM_ATTRIBUTE_NOINLINE __declspec(noinline) -#else -#define LLVM_ATTRIBUTE_NOINLINE -#endif - -#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) -#define LLVM_DUMP_METHOD LLVM_ATTRIBUTE_NOINLINE LLVM_ATTRIBUTE_USED -#else -#define LLVM_DUMP_METHOD LLVM_ATTRIBUTE_NOINLINE -#endif - -#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough) -#define LLVM_FALLTHROUGH [[fallthrough]] -#elif __has_cpp_attribute(gnu::fallthrough) -#define LLVM_FALLTHROUGH [[gnu::fallthrough]] -#elif !__cplusplus -// Workaround for llvm.org/PR23435, since clang 3.6 and below emit a spurious -// error when __has_cpp_attribute is given a scoped attribute in C mode. -#define LLVM_FALLTHROUGH -#elif __has_cpp_attribute(clang::fallthrough) -#define LLVM_FALLTHROUGH [[clang::fallthrough]] -#else -#define LLVM_FALLTHROUGH -#endif - -#endif Index: lib/Demangle/LLVMBuild.txt =================================================================== --- lib/Demangle/LLVMBuild.txt +++ /dev/null @@ -1,21 +0,0 @@ -;===- ./lib/Support/LLVMBuild.txt ------------------------------*- Conf -*--===; -; -; The LLVM Compiler Infrastructure -; -; This file is distributed under the University of Illinois Open Source -; License. See LICENSE.TXT for details. -; -;===------------------------------------------------------------------------===; -; -; This is an LLVMBuild description file for the components in this subdirectory. -; -; For more information on the LLVMBuild system, please see: -; -; http://llvm.org/docs/LLVMBuild.html -; -;===------------------------------------------------------------------------===; - -[component_0] -type = Library -name = Demangle -parent = Libraries Index: lib/Demangle/Utility.h =================================================================== --- /dev/null +++ lib/Demangle/Utility.h @@ -1,188 +0,0 @@ -//===--- Utility.h ----------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -// -// This file contains several utility classes used by the demangle library. -//===----------------------------------------------------------------------===// - -#ifndef LLVM_DEMANGLE_UTILITY_H -#define LLVM_DEMANGLE_UTILITY_H - -#include "StringView.h" - -#include -#include -#include -#include -#include - -// Stream that AST nodes write their string representation into after the AST -// has been parsed. -class OutputStream { - char *Buffer; - size_t CurrentPosition; - size_t BufferCapacity; - - // Ensure there is at least n more positions in buffer. - void grow(size_t N) { - if (N + CurrentPosition >= BufferCapacity) { - BufferCapacity *= 2; - if (BufferCapacity < N + CurrentPosition) - BufferCapacity = N + CurrentPosition; - Buffer = static_cast(std::realloc(Buffer, BufferCapacity)); - if (Buffer == nullptr) - std::terminate(); - } - } - - void writeUnsigned(uint64_t N, bool isNeg = false) { - // Handle special case... - if (N == 0) { - *this << '0'; - return; - } - - char Temp[21]; - char *TempPtr = std::end(Temp); - - while (N) { - *--TempPtr = '0' + char(N % 10); - N /= 10; - } - - // Add negative sign... - if (isNeg) - *--TempPtr = '-'; - this->operator<<(StringView(TempPtr, std::end(Temp))); - } - -public: - OutputStream(char *StartBuf, size_t Size) - : Buffer(StartBuf), CurrentPosition(0), BufferCapacity(Size) {} - OutputStream() = default; - void reset(char *Buffer_, size_t BufferCapacity_) { - CurrentPosition = 0; - Buffer = Buffer_; - BufferCapacity = BufferCapacity_; - } - - /// Create an OutputStream from a buffer and a size. If either of these are - /// null a buffer is allocated. - static OutputStream create(char *StartBuf, size_t *Size, size_t AllocSize) { - OutputStream Result; - - if (!StartBuf || !Size) { - StartBuf = static_cast(std::malloc(AllocSize)); - if (StartBuf == nullptr) - std::terminate(); - Size = &AllocSize; - } - - Result.reset(StartBuf, *Size); - return Result; - } - - /// If a ParameterPackExpansion (or similar type) is encountered, the offset - /// into the pack that we're currently printing. - unsigned CurrentPackIndex = std::numeric_limits::max(); - unsigned CurrentPackMax = std::numeric_limits::max(); - - OutputStream &operator+=(StringView R) { - size_t Size = R.size(); - if (Size == 0) - return *this; - grow(Size); - std::memmove(Buffer + CurrentPosition, R.begin(), Size); - CurrentPosition += Size; - return *this; - } - - OutputStream &operator+=(char C) { - grow(1); - Buffer[CurrentPosition++] = C; - return *this; - } - - OutputStream &operator<<(StringView R) { return (*this += R); } - - OutputStream &operator<<(char C) { return (*this += C); } - - OutputStream &operator<<(long long N) { - if (N < 0) - writeUnsigned(static_cast(-N), true); - else - writeUnsigned(static_cast(N)); - return *this; - } - - OutputStream &operator<<(unsigned long long N) { - writeUnsigned(N, false); - return *this; - } - - OutputStream &operator<<(long N) { - return this->operator<<(static_cast(N)); - } - - OutputStream &operator<<(unsigned long N) { - return this->operator<<(static_cast(N)); - } - - OutputStream &operator<<(int N) { - return this->operator<<(static_cast(N)); - } - - OutputStream &operator<<(unsigned int N) { - return this->operator<<(static_cast(N)); - } - - size_t getCurrentPosition() const { return CurrentPosition; } - void setCurrentPosition(size_t NewPos) { CurrentPosition = NewPos; } - - char back() const { - return CurrentPosition ? Buffer[CurrentPosition - 1] : '\0'; - } - - bool empty() const { return CurrentPosition == 0; } - - char *getBuffer() { return Buffer; } - char *getBufferEnd() { return Buffer + CurrentPosition - 1; } - size_t getBufferCapacity() { return BufferCapacity; } -}; - -template class SwapAndRestore { - T &Restore; - T OriginalValue; - bool ShouldRestore = true; - -public: - SwapAndRestore(T &Restore_) : SwapAndRestore(Restore_, Restore_) {} - - SwapAndRestore(T &Restore_, T NewVal) - : Restore(Restore_), OriginalValue(Restore) { - Restore = std::move(NewVal); - } - ~SwapAndRestore() { - if (ShouldRestore) - Restore = std::move(OriginalValue); - } - - void shouldRestore(bool ShouldRestore_) { ShouldRestore = ShouldRestore_; } - - void restoreNow(bool Force) { - if (!Force && !ShouldRestore) - return; - - Restore = std::move(OriginalValue); - ShouldRestore = false; - } - - SwapAndRestore(const SwapAndRestore &) = delete; - SwapAndRestore &operator=(const SwapAndRestore &) = delete; -}; - -#endif Index: lib/LLVMBuild.txt =================================================================== --- lib/LLVMBuild.txt +++ lib/LLVMBuild.txt @@ -22,7 +22,6 @@ Bitcode CodeGen DebugInfo - Demangle ExecutionEngine FuzzMutate LineEditor Index: lib/Support/CMakeLists.txt =================================================================== --- lib/Support/CMakeLists.txt +++ lib/Support/CMakeLists.txt @@ -67,6 +67,8 @@ Debug.cpp DebugCounter.cpp DeltaAlgorithm.cpp + Demangle/ItaniumDemangle.cpp + Demangle/MicrosoftDemangle.cpp DAGDeltaAlgorithm.cpp DJB.cpp Error.cpp @@ -162,6 +164,7 @@ Windows ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support + ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Demangle ${Backtrace_INCLUDE_DIRS} LINK_LIBS ${system_libs} ) Index: lib/Support/Demangle/ItaniumDemangle.cpp =================================================================== --- lib/Support/Demangle/ItaniumDemangle.cpp +++ lib/Support/Demangle/ItaniumDemangle.cpp @@ -11,10 +11,11 @@ // file does not yet support: // - C++ modules TS -#include "Compiler.h" +#include "llvm/Support/Demangle/Demangle.h" +#include "llvm/Support/Compiler.h" + #include "StringView.h" #include "Utility.h" -#include "llvm/Demangle/Demangle.h" #include #include Index: lib/Support/Demangle/MicrosoftDemangle.cpp =================================================================== --- lib/Support/Demangle/MicrosoftDemangle.cpp +++ lib/Support/Demangle/MicrosoftDemangle.cpp @@ -14,9 +14,9 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" +#include "llvm/Support/Compiler.h" -#include "Compiler.h" #include "StringView.h" #include "Utility.h" Index: lib/Support/Demangle/StringView.h =================================================================== --- lib/Support/Demangle/StringView.h +++ lib/Support/Demangle/StringView.h @@ -6,8 +6,9 @@ // License. See LICENSE.TXT for details. // // -// This file contains a limited version of LLVM's StringView class. It is -// copied here so that LLVMDemangle need not take a dependency on LLVMSupport. +// This file contains a limited version of LLVM's StringView class. It is +// copied here to provide a stable interface across the LLVM and libc++abi +// copies of the demangler. //===----------------------------------------------------------------------===// #ifndef LLVM_DEMANGLE_STRINGVIEW_H Index: lib/Support/LLVMBuild.txt =================================================================== --- lib/Support/LLVMBuild.txt +++ lib/Support/LLVMBuild.txt @@ -19,4 +19,3 @@ type = Library name = Support parent = Libraries -required_libraries = Demangle Index: lib/Support/Unix/Signals.inc =================================================================== --- lib/Support/Unix/Signals.inc +++ lib/Support/Unix/Signals.inc @@ -36,7 +36,7 @@ #include "Unix.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Config/config.h" -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/FileUtilities.h" #include "llvm/Support/Format.h" Index: tools/llvm-cxxfilt/CMakeLists.txt =================================================================== --- tools/llvm-cxxfilt/CMakeLists.txt +++ tools/llvm-cxxfilt/CMakeLists.txt @@ -1,5 +1,4 @@ set(LLVM_LINK_COMPONENTS - Demangle Support ) Index: tools/llvm-cxxfilt/llvm-cxxfilt.cpp =================================================================== --- tools/llvm-cxxfilt/llvm-cxxfilt.cpp +++ tools/llvm-cxxfilt/llvm-cxxfilt.cpp @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/InitLLVM.h" #include "llvm/Support/raw_ostream.h" Index: tools/llvm-demangle-fuzzer/CMakeLists.txt =================================================================== --- tools/llvm-demangle-fuzzer/CMakeLists.txt +++ tools/llvm-demangle-fuzzer/CMakeLists.txt @@ -1,5 +1,4 @@ set(LLVM_LINK_COMPONENTS - Demangle FuzzMutate Support ) Index: tools/llvm-demangle-fuzzer/llvm-demangle-fuzzer.cpp =================================================================== --- tools/llvm-demangle-fuzzer/llvm-demangle-fuzzer.cpp +++ tools/llvm-demangle-fuzzer/llvm-demangle-fuzzer.cpp @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include #include Index: tools/llvm-nm/CMakeLists.txt =================================================================== --- tools/llvm-nm/CMakeLists.txt +++ tools/llvm-nm/CMakeLists.txt @@ -4,7 +4,6 @@ AllTargetsInfos BinaryFormat Core - Demangle Object Support ) Index: tools/llvm-nm/llvm-nm.cpp =================================================================== --- tools/llvm-nm/llvm-nm.cpp +++ tools/llvm-nm/llvm-nm.cpp @@ -18,7 +18,7 @@ #include "llvm/ADT/StringSwitch.h" #include "llvm/BinaryFormat/COFF.h" -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include "llvm/IR/Function.h" #include "llvm/IR/LLVMContext.h" #include "llvm/Object/Archive.h" Index: tools/llvm-objdump/CMakeLists.txt =================================================================== --- tools/llvm-objdump/CMakeLists.txt +++ tools/llvm-objdump/CMakeLists.txt @@ -7,7 +7,6 @@ CodeGen DebugInfoDWARF DebugInfoPDB - Demangle MC MCDisassembler Object Index: tools/llvm-objdump/LLVMBuild.txt =================================================================== --- tools/llvm-objdump/LLVMBuild.txt +++ tools/llvm-objdump/LLVMBuild.txt @@ -19,4 +19,4 @@ type = Tool name = llvm-objdump parent = Tools -required_libraries = DebugInfoDWARF MC MCDisassembler MCParser Object all-targets Demangle +required_libraries = DebugInfoDWARF MC MCDisassembler MCParser Object all-targets Index: tools/llvm-objdump/MachODump.cpp =================================================================== --- tools/llvm-objdump/MachODump.cpp +++ tools/llvm-objdump/MachODump.cpp @@ -20,7 +20,7 @@ #include "llvm/Config/config.h" #include "llvm/DebugInfo/DIContext.h" #include "llvm/DebugInfo/DWARF/DWARFContext.h" -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCContext.h" #include "llvm/MC/MCDisassembler/MCDisassembler.h" Index: tools/llvm-objdump/llvm-objdump.cpp =================================================================== --- tools/llvm-objdump/llvm-objdump.cpp +++ tools/llvm-objdump/llvm-objdump.cpp @@ -25,7 +25,7 @@ #include "llvm/CodeGen/FaultMaps.h" #include "llvm/DebugInfo/DWARF/DWARFContext.h" #include "llvm/DebugInfo/Symbolize/Symbolize.h" -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCContext.h" #include "llvm/MC/MCDisassembler/MCDisassembler.h" Index: tools/llvm-opt-report/OptReport.cpp =================================================================== --- tools/llvm-opt-report/OptReport.cpp +++ tools/llvm-opt-report/OptReport.cpp @@ -14,7 +14,7 @@ /// //===----------------------------------------------------------------------===// -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Error.h" #include "llvm/Support/ErrorOr.h" Index: tools/llvm-symbolizer/CMakeLists.txt =================================================================== --- tools/llvm-symbolizer/CMakeLists.txt +++ tools/llvm-symbolizer/CMakeLists.txt @@ -6,7 +6,6 @@ set(LLVM_LINK_COMPONENTS DebugInfoDWARF DebugInfoPDB - Demangle Object Support Symbolize Index: tools/llvm-undname/CMakeLists.txt =================================================================== --- tools/llvm-undname/CMakeLists.txt +++ tools/llvm-undname/CMakeLists.txt @@ -1,5 +1,4 @@ set(LLVM_LINK_COMPONENTS - Demangle Support ) Index: tools/llvm-undname/LLVMBuild.txt =================================================================== --- tools/llvm-undname/LLVMBuild.txt +++ tools/llvm-undname/LLVMBuild.txt @@ -19,5 +19,5 @@ type = Tool name = llvm-undname parent = Tools -required_libraries = Demangle Support +required_libraries = Support Index: tools/llvm-undname/llvm-undname.cpp =================================================================== --- tools/llvm-undname/llvm-undname.cpp +++ tools/llvm-undname/llvm-undname.cpp @@ -14,8 +14,8 @@ //===----------------------------------------------------------------------===// #include "llvm/ADT/StringRef.h" -#include "llvm/Demangle/Demangle.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/Demangle/Demangle.h" #include "llvm/Support/InitLLVM.h" #include "llvm/Support/Process.h" #include "llvm/Support/raw_ostream.h" Index: unittests/CMakeLists.txt =================================================================== --- unittests/CMakeLists.txt +++ unittests/CMakeLists.txt @@ -12,7 +12,6 @@ add_subdirectory(Bitcode) add_subdirectory(CodeGen) add_subdirectory(DebugInfo) -add_subdirectory(Demangle) add_subdirectory(ExecutionEngine) add_subdirectory(FuzzMutate) add_subdirectory(IR) Index: unittests/Support/CMakeLists.txt =================================================================== --- unittests/Support/CMakeLists.txt +++ unittests/Support/CMakeLists.txt @@ -85,4 +85,5 @@ # ManagedStatic.cpp uses . target_link_libraries(SupportTests PRIVATE LLVMTestingSupport ${LLVM_PTHREAD_LIB}) +add_subdirectory(Demangle) add_subdirectory(DynamicLibrary) Index: unittests/Support/Demangle/CMakeLists.txt =================================================================== --- unittests/Support/Demangle/CMakeLists.txt +++ unittests/Support/Demangle/CMakeLists.txt @@ -1,5 +1,5 @@ set(LLVM_LINK_COMPONENTS - Demangle + Support ) add_llvm_unittest(DemangleTests Index: unittests/Support/Demangle/FindTypesInMangledNameTest.cpp =================================================================== --- unittests/Support/Demangle/FindTypesInMangledNameTest.cpp +++ unittests/Support/Demangle/FindTypesInMangledNameTest.cpp @@ -9,7 +9,7 @@ #include #include -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include "gtest/gtest.h" TEST(FindTypesInMangledNameTest, Test) { Index: unittests/Support/Demangle/PartialDemangleTest.cpp =================================================================== --- unittests/Support/Demangle/PartialDemangleTest.cpp +++ unittests/Support/Demangle/PartialDemangleTest.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// #include -#include "llvm/Demangle/Demangle.h" +#include "llvm/Support/Demangle/Demangle.h" #include "gtest/gtest.h" struct ChoppedName {