For open source projects, a few online static analyzers are
available and usable for free. This kind of integer type mismach
will be caught by most of them. Possibly clang-static-analyzer
will do the job. Otherwise, an easy one is lgtm for example. See
https://lgtm.com/
(I have no link with them except as an open source software
developer using their services for free).
There are other tools (mostly geared towards security) available for free for open source software but I just forgot their name. Any web search tool should help you here.
Thomas
An upstream author has asked whether we know of tools or compiler flags to help catch problems mixing 64 and 32 bit integers, for instance catching implicit conversions, as in
int64_t n = ...;
for (int32_t i=0; i<n; i++) {
...
}
There is -fsanitize=signed-integer-overflow (which generates a runtime error message), but that requires data to cause overflow at every possible location.
Is there a better tool for catching this kind of problem?
Drew