-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suppress unhelpful warnings for better user experience #133
Comments
cc. @jimgrundy |
@markrtuttle points out that we have various conflicting sources of data about where a symbol is defined, and that is (to an extent) unavoidable (because we use ctags as well as CBMC) and we have to pick one and when it is unavoidable then perhaps we shouldn't bother the user with a warning. But... looking at these warnings I have the following thoughts:
If I have to pick one of two possible definitions, I would think I would prefer the one on the .c file and not the one in the header. If I was being pedantic (which is my natural inclination) I would say that the one in the header was a "declaration" not a "definition" and so there really was no choice here as to which to choose as the site of the definition ... choose the definition not the declaration. In most of these examples I think I would:
If ctags provides multiple equally preferable locations then just pick one silently. But, then there is this:
This is very much not OK. This is exactly why I like to keep warnings around, to surface things like this and force them to be fixed. We just sunk a whole bunch of @nwetzler into making sure this doesn't happen, so if that data came from CBMC then let's get it fixed. @markrtuttle : please don't make this particular warning go away. Can you confirm that the bad data is coming from CBMC, and if so assign to @nwetzler to fix. |
CBMC version:
5.69.1 (cbmc-5.59.0-676-gb4a4122dee)
Viewer version: 2.9
Operating system: N/A
Exact command line resulting in the issue:
First, clone my fork for coreJSON. Then, navigate to the proof located at
coreJSON/verification/cbmc/proofs/skipString/
. Finally, run the proof usingmake veryclean; time make
.What behaviour did you expect: No warnings.
What happened instead: I keep getting the following warnings without any source location.
Also, what does these warnings mean?
If this doesn't compromise the coverage report, then it should only be
INFO
instead of warnings.The text was updated successfully, but these errors were encountered: