Meinersbur added inline comments.

================
Comment at: clang/include/clang/AST/StmtOpenMP.h:97
+/// `std::vector<std::string>::iterator::difference_type` aka `ptrdiff_t`).
+/// Therefore, the distance function will be <code>
+///   [&](size_t &Result) { Result = __end - __begin; }
----------------
jdenny wrote:
> 
Unfortunately, clang-format does this when it wants to word-wrap a paragraph.


================
Comment at: clang/include/clang/AST/StmtOpenMP.h:166
+    assert((isa<ForStmt>(S) || isa<CXXForRangeStmt>(S)) &&
+           "Canonical loop must be a for loop (range-based or otherwise)");
+    SubStmts[LOOPY_STMT] = S;
----------------
jdenny wrote:
> To convert run-time errors into compile-time errors, what if `setLoopStmt` is 
> overloaded to take either a `ForStmt` or `CXXForRangeStmt` instead of any 
> `Stmt`?
This would also require callers to call two different versions and just removes 
the problem up the call stack. For instance, StmtReader just receives a Stmt 
from ReadStmt. If we had setLoopStmt, we'd need a switch to call one of 
overloads.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94973/new/

https://reviews.llvm.org/D94973

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to