Cool, looks good.

================
Comment at: clang-tidy/tool/ClangTidyMain.cpp:50
@@ +49,3 @@
+                          "set of enabled checks.\n"
+                          "This option's value is appended to the value read\n"
+                          "from a .clang-tidy file, if any."),
----------------
alexfh wrote:
> djasper wrote:
> > alexfh wrote:
> > > djasper wrote:
> > > > I am not entirely certain that appending is the right thing to do here. 
> > > > But I understand that otherwise, it would be next to impossible to say 
> > > > "everything in the config file +/- this one check". Then again, with 
> > > > -dump-config, it might be easy enough to copy and past the existing 
> > > > active checks for a given file and modify them.
> > > This is done to keep the current behavior. If we want to change it, I'd 
> > > rather do this as a separate step. And we also need strong reasons to do 
> > > so, as it would degrade user experience, imo.
> > This can't be the current behavior as currently, there are no .clang-tidy 
> > files. And that's also why I want us to think about it now, before we have 
> > to break existing behavior. In your opinion, what are the pros/cons 
> > for/against appending?
> The current behavior is that adding -checks=... on the command line modifies 
> the set of checks by appending the new value to the value that would be used 
> without the command line option. The new code behaves exactly in the same way 
> when there's no .clang-tidy file, and naturally extends the same behavior to 
> the case when there is a .clang-tidy file (the "defaults" are taken from the 
> .clang-tidy file instead).
> 
> If instead of appending we overwrite the value, we'll change the behavior of 
> clang-tidy in both use cases.
> 
> Apart from trying to avoid changes in behavior, I see the following benefit 
> of the current approach: it allows to slightly change the default set of 
> checks as well as completely override it equally easily (use 
> -checks=some-check to add a check to the default set, -checks=-some-check to 
> remove it, -checks=-*,some-check to only run some-check).
Ok. I am fine with it, I just want to be sure about the implications.

================
Comment at: clang-tidy/tool/ClangTidyMain.cpp:91
@@ +90,3 @@
+
+static cl::opt<bool> AnalyzeTemporaryDtors(
+    "analyze-temporary-dtors",
----------------
alexfh wrote:
> djasper wrote:
> > alexfh wrote:
> > > djasper wrote:
> > > > Hm. I am wondering whether it really makes sense to keep these 
> > > > individual config flags. The approach in clang-format, where we can 
> > > > just pass in a JSON config through a single flag seems like a good 
> > > > alternative.
> > > I'd keep at least the most frequently used options, e.g. -checks:
> > > 
> > >   clang-tidy -config='{Checks: "..."}'
> > > 
> > > instead of
> > > 
> > >   clang-tidy -checks="..."
> > > 
> > > is not extremely ugly, but a bit less convenient. Anyways, I'd like to 
> > > make any unnecessary behavior changes in a separate patch.
> > Ok, but what are the more frequently used flags? Also, dumping the current 
> > config into a .clang-tidy file and changing that seems like the more 
> > convenient way to change these things anyway.
> > 
> > FWIW, I somewhat agree on keeping "-checks" (although I have no data on how 
> > frequently it's used). However, I don't thing -analyze-temporary-dtors is 
> > or should be a "frequent flag", which is why I left the comment here.
> I totally agree with the idea of removing -analyze-temporary-dtors if we add 
> a command-line option to specify JSON config. The -header-filter= option also 
> doesn't look like a frequently used. However, -checks= is used at least by 
> the check developers and in all our documents, so we'd better leave it.
Makes sense.

http://reviews.llvm.org/D5186



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to