jyu2 marked an inline comment as done.
jyu2 added inline comments.
================
Comment at: lib/Sema/SemaStmtAsm.cpp:470
+ if (NS->isGCCAsmGoto() &&
+ Exprs[ConstraintIdx]->getStmtClass() == Stmt::AddrLabelExprClass)
+ break;
----------------
efriedma wrote:
> jyu2 wrote:
> > efriedma wrote:
> > > This looks suspicious; an AddrLabelExpr could be an input or output, e.g.
> > > `"r"(&&foo)`.
> > Syntax for asm goto:
> > Syntax:
> > asm [volatile] goto ( AssemblerTemplate
> > :
> > : InputOperands
> > : Clobbers
> > : GotoLabels)
> >
> > Only input is allowed. Output is not allowed
> >
> That doesn't really address my point here... ignore the "or output" part of
> the comment.
Sorry did not realize that. Thank you so much for catching that. Need to add
other condition "ConstraintIdx > NS->getNumInputs() - 1", change to :
if (NS->isGCCAsmGoto() && ConstraintIdx > NS->getNumInputs() - 1 &&
Exprs[ConstraintIdx]->getStmtClass() == Stmt::AddrLabelExprClass)
break;
Is this ok with you? Thanks
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D56571/new/
https://reviews.llvm.org/D56571
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits