aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.

LGTM aside from some minor nits.



================
Comment at: clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp:71
+void MacroUsageCheck::warnMacro(const MacroDirective *MD) {
+  auto MessageFactory = [](const MacroInfo *Info) {
+    /// A variadic macro is function-like at the same time. Therefore variadic
----------------
It seems unnecessarily complicated, to me, to use a lambda here. Why not use a 
StringRef local variable?
```
StringRef Msg = "blah";
if (Info->isVariadic())
  Msg = "blah";
else if (Info->isFunctionLike())
  Msg = "blah";
```


================
Comment at: clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp:78
+             "variadic template function";
+    else if (Info->isFunctionLike())
+      return "function-like macro used; consider a 'constexpr' template "
----------------
Nit: `else` after `return`


================
Comment at: clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp:81
+             "function";
+    else
+      return "macro used to declare a constant; consider using a 'constexpr' "
----------------
Nit: same


================
Comment at: clang-tidy/cppcoreguidelines/MacroUsageCheck.h:34-35
+  void registerPPCallbacks(CompilerInstance &Compiler) override;
+  void warnMacro(const MacroDirective *MD);
+  void warnNaming(const MacroDirective *MD);
+
----------------
Nit: these can be private functions instead.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D41648



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

Reply via email to