mgehre added inline comments.

================
Comment at: 
clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp:29
@@ +28,3 @@
+      implicitCastExpr(unless(hasParent(arraySubscriptExpr())),
+                       
unless(hasSourceExpression(declRefExpr(to(varDecl(hasName("__range")))))),
+                       unless(hasSourceExpression(stringLiteral()))
----------------
sbenza wrote:
> __range is an implementation detail and should not be used here.
> Check that this is the range init of a cxxForRangeStmt parent node or 
> something like that.
That was my first attempt, but I couldn't quite figure it out.

I tried
  
unless(hasAncestor(cxxForRangeStmt(hasRangeInit(hasDescendant(equalsBoundNode("cast"))))))
but that does not compile.

Any ideas?

================
Comment at: 
test/clang-tidy/cppcoreguidelines-pro-bounds-array-to-pointer-decay.cpp:12
@@ +11,3 @@
+  pointerfun((int*)a);
+  // CHECK-MESSAGES: :[[@LINE-1]]:20: warning: do not (implicitly) convert an 
array to a pointer
+  arrayfun(a);
----------------
sbenza wrote:
> this is not implicit. Is the 'implicit' optional?
Currently, the diag is
  diag(MatchedCast->getExprLoc(), "do not (implicitly) convert an array to a 
pointer");
should I make the parenthesis conditional?


http://reviews.llvm.org/D13640



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

Reply via email to