summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/MicrosoftRTTI.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-07-01 22:24:56 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-07-01 22:24:56 +0000
commitf607234fde4ccbdd0899a1ea92703e720dd83a22 (patch)
tree89c5bf97108475f199b5dc370c950a9cb97fb5dd /clang/lib/CodeGen/MicrosoftRTTI.cpp
parent6433f7c84d68039000785d818b2f139354a26f8c (diff)
downloadbcm5719-llvm-f607234fde4ccbdd0899a1ea92703e720dd83a22.tar.gz
bcm5719-llvm-f607234fde4ccbdd0899a1ea92703e720dd83a22.zip
Driver: Handle /GR- in a compatible way with MSVC
There are slight differences between /GR- and -fno-rtti which made mapping one to the other inappropriate. -fno-rtti disables dynamic_cast, typeid, and does not emit RTTI related information for the v-table. /GR- does not generate complete object locators and thus will not reference them in vftables. However, constructs like dynamic_cast and typeid are permitted. This should bring our implementation of RTTI up to semantic parity with MSVC modulo bugs. llvm-svn: 212138
Diffstat (limited to 'clang/lib/CodeGen/MicrosoftRTTI.cpp')
-rw-r--r--clang/lib/CodeGen/MicrosoftRTTI.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/MicrosoftRTTI.cpp b/clang/lib/CodeGen/MicrosoftRTTI.cpp
index 51d56e94abe..776a1612623 100644
--- a/clang/lib/CodeGen/MicrosoftRTTI.cpp
+++ b/clang/lib/CodeGen/MicrosoftRTTI.cpp
@@ -508,7 +508,7 @@ llvm::Constant *CodeGenModule::getMSTypeDescriptor(QualType Type) {
llvm::Constant *
CodeGenModule::getMSCompleteObjectLocator(const CXXRecordDecl *RD,
const VPtrInfo *Info) {
- if (!getLangOpts().RTTI)
+ if (!getLangOpts().RTTIData)
return llvm::Constant::getNullValue(Int8PtrTy);
return MSRTTIBuilder(*this, RD).getCompleteObjectLocator(Info);
}
OpenPOWER on IntegriCloud