alexfh requested changes to this revision.
This revision now requires changes to proceed.

================
Comment at: clang-tidy/performance/InefficientStringAdditionCheck.cpp:28
@@ +27,3 @@
+    : ClangTidyCheck(Name, Context),
+      IsStrictMode(Options.get("isStrictMode", 0)) {}
+
----------------
s/IsStrictMode/StrictMode/

================
Comment at: clang-tidy/performance/InefficientStringAdditionCheck.cpp:31
@@ +30,3 @@
+void InefficientStringAdditionCheck::registerMatchers(MatchFinder *Finder) {
+  const auto BasicStringType =
+      hasType(cxxRecordDecl(hasName("::std::basic_string")));
----------------
This check is only useful for C++. Please add

```
  if (!getLangOpts().CPlusPlus)
    return;
```

================
Comment at: clang-tidy/performance/InefficientStringAdditionCheck.cpp:84
@@ +83,3 @@
+  const auto DiagMsg =
+      "inefficient string concatenation; use operator+= or "
+      "string::append() instead";
----------------
The root of inefficiency is in unnecessary allocations of temporary strings, so 
maybe we should note this in the warning message, e.g. "string concatenation 
results in allocation of unnecessary temporary strings; consider using 
'operator+=' or 'string::append()' instead".

================
Comment at: clang-tidy/performance/InefficientStringAdditionCheck.h:24
@@ +23,3 @@
+/// 
http://clang.llvm.org/extra/clang-tidy/checks/performance-inefficient-string-addition.html
+
+class InefficientStringAdditionCheck : public ClangTidyCheck {
----------------
Please remove the empty line.

================
Comment at: clang-tidy/performance/InefficientStringAdditionCheck.h:25
@@ +24,3 @@
+
+class InefficientStringAdditionCheck : public ClangTidyCheck {
+ public:
----------------
s/Addition/Concatenation/?

================
Comment at: clang-tidy/performance/InefficientStringAdditionCheck.h:33
@@ +32,3 @@
+ private:
+  int IsStrictMode;
+};
----------------
`const bool StrictMode;`

================
Comment at: 
docs/clang-tidy/checks/performance-inefficient-string-addition.rst:15
@@ +14,3 @@
+
+Instead of this structure you should use ``operator+=`` or std::string's 
(std::basic_string) class member function ``append``. For instance:
+   
----------------
Please enclose `std::string`, `std::basic_string` and other inline code 
snippets in double backquotes.


http://reviews.llvm.org/D20196



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

Reply via email to