diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2012-02-13 23:45:02 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2012-02-13 23:45:02 +0000 |
commit | adcec49f96e73f8a68166e8a2c1ab858bdad0b19 (patch) | |
tree | 81d3d0075cfa5ec10af10aaf3aabc83b5a732690 | |
parent | aef4ca78c59032246c770199844cdeacdaca7f84 (diff) | |
download | bcm5719-llvm-adcec49f96e73f8a68166e8a2c1ab858bdad0b19.tar.gz bcm5719-llvm-adcec49f96e73f8a68166e8a2c1ab858bdad0b19.zip |
Mark the cxa_guard_{abort,acquire,release} functions nounwind.
llvm-svn: 150435
-rw-r--r-- | clang/lib/CodeGen/ItaniumCXXABI.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/ItaniumCXXABI.cpp b/clang/lib/CodeGen/ItaniumCXXABI.cpp index 8dee17a38cc..a8b99428829 100644 --- a/clang/lib/CodeGen/ItaniumCXXABI.cpp +++ b/clang/lib/CodeGen/ItaniumCXXABI.cpp @@ -979,7 +979,8 @@ static llvm::Constant *getGuardAcquireFn(CodeGenModule &CGM, llvm::FunctionType::get(CGM.getTypes().ConvertType(CGM.getContext().IntTy), GuardPtrTy, /*isVarArg=*/false); - return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_acquire"); + return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_acquire", + llvm::Attribute::NoUnwind); } static llvm::Constant *getGuardReleaseFn(CodeGenModule &CGM, @@ -988,7 +989,8 @@ static llvm::Constant *getGuardReleaseFn(CodeGenModule &CGM, llvm::FunctionType *FTy = llvm::FunctionType::get(CGM.VoidTy, GuardPtrTy, /*isVarArg=*/false); - return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_release"); + return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_release", + llvm::Attribute::NoUnwind); } static llvm::Constant *getGuardAbortFn(CodeGenModule &CGM, @@ -997,7 +999,8 @@ static llvm::Constant *getGuardAbortFn(CodeGenModule &CGM, llvm::FunctionType *FTy = llvm::FunctionType::get(CGM.VoidTy, GuardPtrTy, /*isVarArg=*/false); - return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_abort"); + return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_abort", + llvm::Attribute::NoUnwind); } namespace { |