[PATCH] Allow per-file clang-tidy options.

Manuel Klimek klimek at google.com
Tue Jun 3 00:33:36 PDT 2014


lg

================
Comment at: clang-tidy/ClangTidy.cpp:216
@@ -204,1 +215,3 @@
+    Check->setContext(&Context);
+    Check->registerMatchers(&*Finder);
     Check->registerPPCallbacks(Compiler);
----------------
Alexander Kornienko wrote:
> Manuel Klimek wrote:
> > Finder.get()?
> It's a matter of taste. I slightly prefer &*, and &* is used two more times in this file (lines 98, 99) and in other files in clang-tidy. If you have serious reasons to prefer .get() over &*, I can change all of the usages in a separate patch, but now I would like the code to be consistent in this regard.
I'm probably in the "more explicit" camp here - &* will work on anything that's deref'able, .get() will only work on smart-pointer-compatible types. I like the fact that I am able to tell whether &* is just a no-op after a refactoring/replacement that hasn't been noticed (for example, after changing a reference to a pointer variable), or whether it's an intentional retrieval of the pointer.

I don't care too much, so feel free to leave it in.

================
Comment at: clang-tidy/ClangTidyOptions.h:38-39
@@ +37,4 @@
+struct ClangTidyGlobalOptions {
+  /// \brief Output warnings from certain line ranges of certain files only. If
+  /// this list is emtpy, it won't be applied.
+  std::vector<FileFilter> LineFilter;
----------------
Alexander Kornienko wrote:
> Manuel Klimek wrote:
> > I think the second sentence doesn't help. I'd delete it.
> I'd leave it, as it's describes a special case. Without special-casing the empty list, the list would be applied always, and the empty list would mean that no warnings will pass the filter.
Interesting. My default interpretation of a filter is "for all filter, take out what it matches", which, if applied with an empty filter, doesn't change anything.
Perhaps:
If empty, no warnings will be filtered.
(or something like that)

http://reviews.llvm.org/D3979






More information about the cfe-commits mailing list