[C/LLVM] Handle parameters of main (argc/argv)#947
[C/LLVM] Handle parameters of main (argc/argv)#947ThomasHaas wants to merge 1 commit intodevelopmentfrom
Conversation
|
The changes solve some of the issues, but it introduces new ones. We now give correct results for I haven't checked if it introduces more regressions. Also, I haven't yet checked the code, but at minimum we should add an option to set the upper bound rather than hardcode it. |
|
We didn't handle any of the benchmarks correctly (and technically we still don't), but the invalid dereference that we reported for, e.g., For example, the Actually, I don't even understand why the verdicts for the benchmarks are as they are. In summary, I think we do not handle any of those benchmarks correctly, neither before this PR nor after this PR. This PR is semantically more correct than |
Do we even handle this correctly? If not, we should either fix our |
|
We do not handle |
|
I removed from the supported intrinsic in the |
This PR adds a very approximative handling of
int argcandchar *argv[]passed tomain: we just upper boundargcwith a constantm=10and use it to allocateargvproperly. The entries ofargvwill be valid pointers, but their content is also boundedc=10and not initialized.NOTE: The constants are arbitrarily chosen, but
argc <= 10is probably good enough for almost all benchmarks.It should be enough to handle some more SVCOMP benchmarks.