diff options
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/CodeGen/CGStmt.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGStmt.cpp b/clang/lib/CodeGen/CGStmt.cpp index 307dccff2f2..cbd8a897bd2 100644 --- a/clang/lib/CodeGen/CGStmt.cpp +++ b/clang/lib/CodeGen/CGStmt.cpp @@ -1003,7 +1003,10 @@ void CodeGenFunction::EmitAsmStmt(const AsmStmt &S) { llvm::InlineAsm *IA = llvm::InlineAsm::get(FTy, AsmString, Constraints, S.isVolatile() || S.getNumOutputs() == 0); - llvm::Value *Result = Builder.CreateCall(IA, Args.begin(), Args.end(), ""); + llvm::CallInst *Result + = Builder.CreateCall(IA, Args.begin(), Args.end(), ""); + Result->addAttribute(~0, llvm::Attribute::NoUnwind); + if (ResultAddr) // FIXME: volatility Builder.CreateStore(Result, ResultAddr); } |

