[PATCH] D18412: [clang-tidy] Add support for different char-types for the readability-redundant-string-cstr checker.
    Etienne Bergeron via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Wed Mar 23 13:21:29 PDT 2016
    
    
  
etienneb added a comment.
In http://reviews.llvm.org/D18412#381843, @dblaikie wrote:
> can you just match on the name of the template instead?
I'm not sure to get your point?
Are you proposing to match "basic_string" instead of the whole regexp?
I'm in favor of that change as I don't see any counter example or any false positive.
In fact, many checkers are using hasName("basic_string").
I just kept the change as minimal as possible to keep the same semantic and allow matching more cases.
Example from RedundantStringInitCheck.cpp:
  // Match string constructor.
  const auto StringConstructorExpr = expr(anyOf(
      cxxConstructExpr(argumentCountIs(1),
                       hasDeclaration(cxxMethodDecl(hasName("basic_string")))),
================
Comment at: test/clang-tidy/readability-redundant-string-cstr.cpp:54
@@ +53,3 @@
+  // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: redundant call to `c_str()` [readability-redundant-string-cstr]
+  // CHECK-FIXES: {{^  }}f1(s);{{$}}
+}
----------------
mamai wrote:
> Isn't this a copy-paste error to reference f1 ? Same question for line 62 and 70...
Good catch.
http://reviews.llvm.org/D18412
    
    
More information about the cfe-commits
mailing list