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 cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits