[MS-ABI] Implements MS-compatible RTTI
authorWarren Hunt <whunt@google.com>
Fri, 23 May 2014 16:07:43 +0000 (16:07 +0000)
committerWarren Hunt <whunt@google.com>
Fri, 23 May 2014 16:07:43 +0000 (16:07 +0000)
commit5c2b4ea662e5cd9be6103caad416bcd2dc2039ea
treef1749bbec709c8db757af1e749b6a0ad8466fe21
parent2be4a2829738b46fd887f911a7ea177baf2092d4
[MS-ABI] Implements MS-compatible RTTI
Enables the emission of MS-compatible RTTI data structures for use with
typeid, dynamic_cast and exceptions.  Does not implement dynamic_cast
or exceptions.  As an artiface, typeid works in some cases but proper
support an testing will coming in a subsequent patch.

majnemer has fuzzed the results.  Test cases included.

Differential Revision: http://reviews.llvm.org/D3833

llvm-svn: 209523
clang/include/clang/AST/Mangle.h
clang/lib/AST/MicrosoftMangle.cpp
clang/lib/CodeGen/CGExpr.cpp
clang/lib/CodeGen/CGRTTI.cpp
clang/lib/CodeGen/CMakeLists.txt
clang/lib/CodeGen/CodeGenModule.h
clang/lib/CodeGen/MicrosoftCXXABI.cpp
clang/lib/CodeGen/MicrosoftRTTI.cpp [new file with mode: 0644]
clang/test/CodeGenCXX/microsoft-abi-rtti.cpp [new file with mode: 0644]