forked from OSchip/llvm-project
[ms-inline asm] Generate the Input/Output expressions using
Sema::ActOnIdExpression(). llvm-svn: 162564
This commit is contained in:
parent
51c27163c0
commit
1e17cf9c22
|
@ -598,13 +598,20 @@ StmtResult Sema::ActOnMSAsmStmt(SourceLocation AsmLoc,
|
|||
AsmTokRanges[StrIdx].first,
|
||||
AsmTokRanges[StrIdx].second);
|
||||
if (II) {
|
||||
// FIXME: Compute the InputExpr/OutputExpr using ActOnIdExpression().
|
||||
if (isDef) {
|
||||
Outputs.push_back(II);
|
||||
OutputExprs.push_back(0);
|
||||
} else {
|
||||
Inputs.push_back(II);
|
||||
InputExprs.push_back(0);
|
||||
CXXScopeSpec SS;
|
||||
UnqualifiedId Id;
|
||||
SourceLocation Loc;
|
||||
Id.setIdentifier(II, AsmLoc);
|
||||
ExprResult Result = ActOnIdExpression(getCurScope(), SS, Loc, Id,
|
||||
false, false);
|
||||
if (!Result.isInvalid()) {
|
||||
if (isDef) {
|
||||
Outputs.push_back(II);
|
||||
OutputExprs.push_back(Result.take());
|
||||
} else {
|
||||
Inputs.push_back(II);
|
||||
InputExprs.push_back(Result.take());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue