jyu2 marked 7 inline comments as done.
jyu2 added inline comments.

================
Comment at: lib/CodeGen/CGStmt.cpp:2182
+    }
+  }
+
----------------
nickdesaulniers wrote:
> If this new block was moved closer to the new one on L2227, I assume they 
> could be combined and possibly `IsGCCAsmGoto` be removed?  The code currently 
> in between doesn't appear at first site to depend on info from this block, 
> though maybe I may be missing it.
The labels need be processed before Clobbers


================
Comment at: lib/Parse/ParseStmtAsm.cpp:830-858
+  if (AteExtraColon || Tok.is(tok::colon)) {
+    if (AteExtraColon)
+      AteExtraColon = false;
+    else
+      ConsumeToken();
+
+    if (!AteExtraColon && Tok.isNot(tok::identifier)) {
----------------
nickdesaulniers wrote:
> ```
> if (x || y) {
>   if (x) foo();
>   else bar();
>   if (!x && ...) baz();
>   if (!x && ...) quux();
> ```
> is maybe more readable as:
> ```
> if (x) foo();
> else if (y)
>   bar();
>   baz();
>   quux();
> ```
This is better?


================
Comment at: lib/Sema/SemaStmtAsm.cpp:470
+    if (NS->isGCCAsmGoto() &&
+        Exprs[ConstraintIdx]->getStmtClass() == Stmt::AddrLabelExprClass)
+      break;
----------------
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



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

Reply via email to