aaron.ballman added a reviewer: alexfh.
aaron.ballman added a comment.

Thank you for the new documentation, that helps! The one thing I'm still 
struggling with is the design approach and how well this will scale. Basically, 
the issue here is that `CheckedFunctions` already has a very long list of 
options, and you want to be able to manage that list (add entries to it or 
remove entries from it) without having to re-specify the entire list, correct? 
My concerns are: 0) It's a confusing design because the complete list is now 
spread over three different options that you have to think about, instead of 
just "here's the list of entries", 1) this problem can appear in *any* config 
list that gets large (for example, when you have a config file in a parent 
directory and a child directory and the parent adds a bunch of items to a list 
that the child wants to manage).

I wonder if we should be considering a more general approach like adding some 
set manipulation functionality to the config list itself. Thinking out loud 
(haven't put a ton of thought into this), we could devise some sort of syntax 
like:

`{key: bugprone-unused-return-value.IncludedFunctions, value: 
"$add$($remove$(bugprone-unused-return-value.IncludedFunctions, 
"::excludedFun"), "::includedFun,::otherFun"},`

That would remove `::excludedFun` from the default list and add `::includedFun` 
and `::otherFun` to the list. Then this functionality could be used in any 
config setting that involves lists of elements rather than adding additional 
config options to each check. WDYT?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111228/new/

https://reviews.llvm.org/D111228

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

Reply via email to