From 80da77edee263ce7afb1e1320496fc3619fe12c4 Mon Sep 17 00:00:00 2001 From: Chad Rosier Date: Tue, 11 Sep 2012 23:53:48 +0000 Subject: [PATCH] [ms-inline asm] isDef/NumDefs in this context only refer to register definitions, not memory definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163666 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaStmtAsm.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/Sema/SemaStmtAsm.cpp b/lib/Sema/SemaStmtAsm.cpp index 2d20d6afcc..3f57a6ec03 100644 --- a/lib/Sema/SemaStmtAsm.cpp +++ b/lib/Sema/SemaStmtAsm.cpp @@ -595,10 +595,9 @@ StmtResult Sema::ActOnMSAsmStmt(SourceLocation AsmLoc, } const llvm::MCOperand &Op = Inst.getOperand(MCIdx); - bool isDef = NumDefs && (MCIdx < NumDefs); // Register/Clobber. - if (Op.isReg() && isDef) { + if (Op.isReg() && NumDefs && (MCIdx < NumDefs)) { std::string Reg; llvm::raw_string_ostream OS(Reg); IP->printRegName(OS, Op.getReg()); @@ -628,7 +627,7 @@ StmtResult Sema::ActOnMSAsmStmt(SourceLocation AsmLoc, false, false); if (!Result.isInvalid()) { bool isMemDef = (i == 1) && Desc.mayStore(); - if (isDef || isMemDef) { + if (isMemDef) { Outputs.push_back(II); OutputExprs.push_back(Result.take()); OutputExprNames.push_back(Name.str()); -- 2.40.0