diff options
Diffstat (limited to 'clang/lib/CodeGen/ItaniumCXXABI.cpp')
-rw-r--r-- | clang/lib/CodeGen/ItaniumCXXABI.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/ItaniumCXXABI.cpp b/clang/lib/CodeGen/ItaniumCXXABI.cpp index 2a3564a4f5c..3e2c461d6a7 100644 --- a/clang/lib/CodeGen/ItaniumCXXABI.cpp +++ b/clang/lib/CodeGen/ItaniumCXXABI.cpp @@ -4102,7 +4102,8 @@ ItaniumCXXABI::LoadVTablePtr(CodeGenFunction &CGF, Address This, void WebAssemblyCXXABI::emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) { - CGF.EHStack.pushCleanup<CatchRetScope>( - NormalCleanup, cast<llvm::CatchPadInst>(CGF.CurrentFuncletPad)); + if (CGF.getTarget().hasFeature("exception-handling")) + CGF.EHStack.pushCleanup<CatchRetScope>( + NormalCleanup, cast<llvm::CatchPadInst>(CGF.CurrentFuncletPad)); ItaniumCXXABI::emitBeginCatch(CGF, C); } |