diff options
| -rw-r--r-- | clang/lib/CodeGen/CGCleanup.cpp | 5 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CGException.cpp | 7 | ||||
| -rw-r--r-- | clang/lib/CodeGen/MicrosoftCXXABI.cpp | 2 | 
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(  | 

