lebedev.ri marked 5 inline comments as done.
lebedev.ri added inline comments.


================
Comment at: include/clang/ASTMatchers/ASTMatchers.h:6456
+  // Note that we have recieved a *matcher* for the clause, not the
+  // OpenMPClauseKind. We now need to extract the 'return' type of said 
matcher,
+  // and convert it to the OpenMPClauseKind, so we can finally use that.
----------------
gribozavr wrote:
> lebedev.ri wrote:
> > gribozavr wrote:
> > > Why not make `isAllowedToContainClause` take an `OpenMPClauseKind` enum 
> > > value?
> > > 
> > > I don't see right now advantages for taking a matcher.  (For example, it 
> > > can't be a more complex matcher with inner matchers, it can't be a 
> > > disjunction of matchers etc.)
> > I don't feel like it, it's uglier.
> > The matcher is documented, `OpenMPClauseKind` is not documented.
> > Also, how will passing some random enum work with e.g. clang-query?
> > 
> There are dozens of clauses in `OpenMPClauseKind`.  We would have to 
> replicate them all as matchers to provide a useful API.
> 
> > Also, how will passing some random enum work with e.g. clang-query?
> 
> See `llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h`.
True. Also, but there's dosens of Stmt types, and there is no overload that 
takes `StmtClass` enum.


================
Comment at: unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp:2283
+})";
+  EXPECT_TRUE(notMatchesWithOpenMP(Source0, Matcher));
+
----------------
gribozavr wrote:
> lebedev.ri wrote:
> > gribozavr wrote:
> > > I'm not sure if breaking out the source code into the "SourceX" variables 
> > > improves readability.  WDYT about inlining the code into the EXPECT_TRUE 
> > > code like in other tests in this file?
> > > 
> > > If you want to break it out, I'd suggest to drop "`void x() {`" down to 
> > > the next line, so that all code lines start at the same column.
> > > I'm not sure if breaking out the source code into the "SourceX" variables 
> > > improves readability
> > 
> > It's not about readability. Inlining will break the build, rC354201.
> Other tests in this file use string concatenation, see 
> `TEST(DeclarationMatcher, MatchHasRecursiveAllOf)` for example.
I'm sorry, but i fail to see how that is relevant?
I'm using multiline raw string literals, and inlining it will break the build, 
like i linked.
You are pointing at the code that is not using multiline raw string literals.
You only suggested inlining, not switching away from multiline raw string 
literals, i believe?

Not using multiline raw string literals looked even worse, because then you 
need to manually add "\n"


Repository:
  rC Clang

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

https://reviews.llvm.org/D57112



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

Reply via email to