Alloa catching Objective-C id's being thrown with C++ throw

in Darwin's fragile abi mode.  // rdar://8940528

llvm-svn: 133639
This commit is contained in:
Fariborz Jahanian
2011-06-22 20:21:51 +00:00
parent 2354f87a9d
commit 0a3cfcc87f
7 changed files with 63 additions and 16 deletions

View File

@@ -521,7 +521,7 @@ void CodeGenFunction::EnterCXXTryStmt(const CXXTryStmt &S, bool IsFnTryBlock) {
llvm::Value *TypeInfo = 0;
if (CaughtType->isObjCObjectPointerType())
TypeInfo = CGM.getObjCRuntime().GetEHType(CaughtType);
TypeInfo = CGM.getObjCRuntime().GetEHType(CaughtType, this);
else
TypeInfo = CGM.GetAddrOfRTTIDescriptor(CaughtType, /*ForEH=*/true);
CatchScope->setHandler(I, TypeInfo, Handler);