summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/CodeGen/CGCleanup.cpp5
-rw-r--r--clang/lib/CodeGen/CGException.cpp7
-rw-r--r--clang/lib/CodeGen/MicrosoftCXXABI.cpp2
3 files changed, 6 insertions, 8 deletions
diff --git a/clang/lib/CodeGen/CGCleanup.cpp b/clang/lib/CodeGen/CGCleanup.cpp
index e53793d489b..95d2914df93 100644
--- a/clang/lib/CodeGen/CGCleanup.cpp
+++ b/clang/lib/CodeGen/CGCleanup.cpp
@@ -904,8 +904,7 @@ void CodeGenFunction::PopCleanupBlock(bool FallthroughIsBranchThrough) {
llvm::BasicBlock *NextAction = getEHDispatchBlock(EHParent);
if (CGM.getCodeGenOpts().NewMSEH &&
EHPersonality::get(*this).isMSVCPersonality())
- CPI = Builder.CreateCleanupPad(llvm::Type::getTokenTy(getLLVMContext()),
- {});
+ CPI = Builder.CreateCleanupPad({});
// We only actually emit the cleanup code if the cleanup is either
// active or was used before it was deactivated.
@@ -916,7 +915,7 @@ void CodeGenFunction::PopCleanupBlock(bool FallthroughIsBranchThrough) {
}
if (CPI)
- Builder.CreateCleanupRet(NextAction, CPI);
+ Builder.CreateCleanupRet(CPI, NextAction);
else
Builder.CreateBr(NextAction);
diff --git a/clang/lib/CodeGen/CGException.cpp b/clang/lib/CodeGen/CGException.cpp
index 83285d9ca93..974da245631 100644
--- a/clang/lib/CodeGen/CGException.cpp
+++ b/clang/lib/CodeGen/CGException.cpp
@@ -887,11 +887,10 @@ static llvm::BasicBlock *emitMSVCCatchDispatchBlock(CodeGenFunction &CGF,
if (EHPersonality::get(CGF).isMSVCXXPersonality()) {
CGF.Builder.CreateCatchPad(
- llvm::Type::getTokenTy(CGF.getLLVMContext()), Handler.Block,
- NextBlock, {TypeValue, llvm::Constant::getNullValue(CGF.VoidPtrTy)});
+ Handler.Block, NextBlock,
+ {TypeValue, llvm::Constant::getNullValue(CGF.VoidPtrTy)});
} else {
- CGF.Builder.CreateCatchPad(llvm::Type::getTokenTy(CGF.getLLVMContext()),
- Handler.Block, NextBlock, {TypeValue});
+ CGF.Builder.CreateCatchPad(Handler.Block, NextBlock, {TypeValue});
}
// Otherwise we need to emit and continue at that block.
diff --git a/clang/lib/CodeGen/MicrosoftCXXABI.cpp b/clang/lib/CodeGen/MicrosoftCXXABI.cpp
index 6b36987cd60..6a12cedd1bc 100644
--- a/clang/lib/CodeGen/MicrosoftCXXABI.cpp
+++ b/clang/lib/CodeGen/MicrosoftCXXABI.cpp
@@ -859,7 +859,7 @@ struct CallEndCatchMSVC final : EHScopeStack::Cleanup {
void Emit(CodeGenFunction &CGF, Flags flags) override {
if (CGF.CGM.getCodeGenOpts().NewMSEH) {
llvm::BasicBlock *BB = CGF.createBasicBlock("catchret.dest");
- CGF.Builder.CreateCatchRet(BB, CPI);
+ CGF.Builder.CreateCatchRet(CPI, BB);
CGF.EmitBlock(BB);
} else {
CGF.EmitNounwindRuntimeCall(
OpenPOWER on IntegriCloud