]> granicus.if.org Git - clang/commit
[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)
commit7ed2a9805972a0eb9a1e0f8eb6e9fe42689e7efd
tree255b3cb911355cb93ba783ab5710fe774a95a946
parent0ddd258c374240c22a53e3e71200048ec3a64284
[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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209523 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Mangle.h
lib/AST/MicrosoftMangle.cpp
lib/CodeGen/CGExpr.cpp
lib/CodeGen/CGRTTI.cpp
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGenModule.h
lib/CodeGen/MicrosoftCXXABI.cpp
lib/CodeGen/MicrosoftRTTI.cpp [new file with mode: 0644]
test/CodeGenCXX/microsoft-abi-rtti.cpp [new file with mode: 0644]