gribozavr added inline comments.

================
Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:6455
 
+/// Matches expressions that match InnerMatcher after any elidable constructor
+/// are stripped off. In C++17 copy elidable constructors are no longer being
----------------
"Matches expressions that match InnerMatcher that are possibly wrapped in an 
elidable constructor."

Then a blank line, and the rest of the explanation.


================
Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:6458
+/// generated in the AST as it is not permitted by the standard. They are
+/// however part of the C++14 AST. This means that there are cases where it is
+/// needed to use ``anyOf(cxxConstructorExpr(Inner), Inner)`` to match for both
----------------
part of the AST in C++14 and earlier.


================
Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:6460
+/// needed to use ``anyOf(cxxConstructorExpr(Inner), Inner)`` to match for both
+/// the C++14 and C++17 AST. Instead of doing this, this matcher can be used as
+/// ``ignoringElidableMoveConstructorCall(Inner)``.
----------------
Therefore, to write a matcher that works in all language modes, the matcher has 
to skip elidable constructor AST nodes if they appear in the AST.


================
Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:6467
+/// struct H {};
+/// template<typename T> H B(T A);
+/// void f() {
----------------
Can this sample be simplified? For example, B does not need to be a template (I 
think), and f() can be simplified to not call B twice.


================
Comment at: clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp:628
+  EXPECT_TRUE(matches(
+    "void f(){"
+    "int D = 10;"
----------------
gribozavr wrote:
> Need a space before the open brace, and indentation in the function body (in 
> every test).
Not done? I was talking about the code in the code snippet.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63149



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

Reply via email to