Add a Microsoft Demangler.
authorZachary Turner <zturner@google.com>
Fri, 20 Jul 2018 17:27:48 +0000 (17:27 +0000)
committerZachary Turner <zturner@google.com>
Fri, 20 Jul 2018 17:27:48 +0000 (17:27 +0000)
commitf435a7eada02567e315371f73e64eab26829a67b
tree1761ca957da6f2600a2c2de7d107f64d914e9399
parent2628620b62d57ca68a2df7220b28c05852a9dd98
Add a Microsoft Demangler.

This adds initial support for a demangling library (LLVMDemangle)
and tool (llvm-undname) for demangling Microsoft names.  This
doesn't cover 100% of cases and there are some known limitations
which I intend to address in followup patches, at least until such
time that we have (near) 100% test coverage matching up with all
of the test cases in clang/test/CodeGenCXX/mangle-ms-*.

Differential Revision: https://reviews.llvm.org/D49552

llvm-svn: 337584
llvm/include/llvm/Demangle/Demangle.h
llvm/lib/Demangle/CMakeLists.txt
llvm/lib/Demangle/MicrosoftDemangle.cpp [new file with mode: 0644]
llvm/test/Demangle/ms-basic.test [new file with mode: 0644]
llvm/test/Demangle/ms-mangle.test [new file with mode: 0644]
llvm/test/Demangle/ms-windows.test [new file with mode: 0644]
llvm/tools/LLVMBuild.txt
llvm/tools/llvm-undname/CMakeLists.txt [new file with mode: 0644]
llvm/tools/llvm-undname/LLVMBuild.txt [new file with mode: 0644]
llvm/tools/llvm-undname/llvm-undname.cpp [new file with mode: 0644]