Stmt **Exprs;
public:
- MSAsmStmt(ASTContext &C, SourceLocation asmloc,
- ArrayRef<Token> asmtoks, std::string &asmstr,
+ MSAsmStmt(ASTContext &C, SourceLocation asmloc, bool issimple,
+ bool isvolatile, ArrayRef<Token> asmtoks, std::string &asmstr,
SourceLocation endloc);
SourceLocation getAsmLoc() const { return AsmLoc; }
}
MSAsmStmt::MSAsmStmt(ASTContext &C, SourceLocation asmloc,
- ArrayRef<Token> asmtoks,
+ bool issimple, bool isvolatile, ArrayRef<Token> asmtoks,
std::string &asmstr, SourceLocation endloc)
: Stmt(MSAsmStmtClass), AsmLoc(asmloc), EndLoc(endloc),
- AsmStr(asmstr), IsSimple(true), IsVolatile(true), NumAsmToks(asmtoks.size()) {
+ AsmStr(asmstr), IsSimple(issimple), IsVolatile(isvolatile),
+ NumAsmToks(asmtoks.size()) {
AsmToks = new (C) Token[NumAsmToks];
for (unsigned i = 0, e = NumAsmToks; i != e; ++i)
Diag(AsmLoc, diag::warn_unsupported_msasm);
MSAsmStmt *NS =
- new (Context) MSAsmStmt(Context, AsmLoc, AsmToks, AsmString, EndLoc);
+ new (Context) MSAsmStmt(Context, AsmLoc, true, true, AsmToks, AsmString,
+ EndLoc);
return Owned(NS);
}