[PATCH] D73897: [analyzer] StdLibraryFunctionsChecker refactor: remove macros
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 10 06:49:14 PST 2020
NoQ accepted this revision.
NoQ added a comment.
LGTM, thanks again!
================
Comment at: clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:537-551
+ // The format is as follows:
//{ "function name",
- // { spec:
+ // { variant0:
// { argument types list, ... },
- // return type, purity, { range set list:
+ // return type, purity, { specification list:
// { range list:
// { argument index, within or out of, {{from, to}, ...} },
----------------
martong wrote:
> NoQ wrote:
> > I suspect that this comment would need a lot more updates.
> Could you please elaborate? Do you mean to add comments e.g. to `ArgumentCondition` and the rest below? Or to rewrite the above comment?
Actually let's ditch it entirely. It was worth it when it was all macros, so that it was apparent how macros expanded, but now it's pretty self-explanatory all the way.
Otherwise i was thinking about making this a pattern that the user can copy-paste and fill in. Like, maybe, include all the constructors explicitly (`Summary`, `ArgTypes`, etc.).
================
Comment at: clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:598
+ Summaries{
+ Summary(ArgTypes{IntTy}, RetType(IntTy), EvalCallAsPure)
+ // Boils down to isupper() or islower() or isdigit().
----------------
Just curious, can `RetType` also use curly braces?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D73897/new/
https://reviews.llvm.org/D73897
More information about the cfe-commits
mailing list