We forgot to address my comment about warning text but i still think it's completely essential in order to be out of alpha.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Also we probably shouldn't keep it in apiModeling if it emits warnings (but i don't have better suggestions).
What about warning messages with placeholders? E.g. "Argument constraint of {nth} argument of {fun} is not satisfied. The value is {v}, however it should be in {range}."
Such generic warning message could work, i guess, if it's worded really well. It's also valuable to explain why exactly is this wrong (undefined behavior? is it according to the C standard or to POSIX or some other entity?). "Passing {v} into {foo} as {nth} argument causes undefined behavior. According to POSIX-1.2001 {foo} accepts values from {a} to {b}" (this isn't necessarily worded really well but that's something i'd like to see).
Still, I think the warning message in the summary should be optional, because otherwise it would be really hard to automatically add summaries from other sources (like from cppcheck).
User experience is more important than our desire to automate everything. The warning is written once but it's read many times and the readers aren't necessarily familiar with compiler jargon (or really enjoy talking to robots).
clang/include/clang/StaticAnalyzer/Checkers/Checkers.td | ||
---|---|---|
325 | ApiModeling -> apiModeling, but since this is the first diagnostic-modeling-mashup it could be named immediately as core.api so that alpha.core.api. |
clang/include/clang/StaticAnalyzer/Checkers/Checkers.td | ||
---|---|---|
325 |
Fxd! |
ApiModeling -> apiModeling, but since this is the first diagnostic-modeling-mashup it could be named immediately as core.api so that alpha.core.api.