On 06/10/2020 00:47, Luc Van Oostenryck wrote:
On Mon, Oct 05, 2020 at 10:04:43AM +0100, Ben Dooks wrote:
On 05/10/2020 02:59, Luc Van Oostenryck wrote:
Ben, these are small changes I think should be applied with
your series, on top of the patches I send yesterday.
I've pushed everything at:
git://github.com/lucvoo/sparse-dev.git format-check
If you're fine with these, I can squeeze them with the series.
There are also a few tests I don't agree with:
const void *ptr = ...
printf("%s", ptr);
These tests silently accept this, but they should warn.
But this can be fixed at a later step.
ok, thanks.
Hi,
I've now pushed it on a separate branch on the official tree:
git://git.kernel.org/pub/scm/devel/sparse/sparse.git format-check
It will thus not be rebased anymore and any changes will need to be
incrementally on top of it.
I'm going to try and work out the best way to deal with the kernel
extra funsies. I have a few ideas but yet to make a coherent document
about them.
Well, the reason I've not yet merged it with the main branch is
because enabling -Wformat creates really a lot of warnings in
the kernel and people definitively use this.
Most of these warnings (if not all) is caused by using
check_assignment_types() which was good as a quick & dirty solution
in the early stages but isn't at all adequate as a true solution
and this for several reasons. I've also begin to take a look at
this with a relatively satisfying result by adopting the following
strategy:
Since no 'checking' function in evaluate.c has the needed
characteristics, simplest is to create in verify-format.c
what is needed.
This also gives the flexibility needed to support things like
-Wformat-signedness.
I add here below only small extract because it's for now quite
messy and need quite a bit of polishing.
I've not had time to run the latest against the kernel as I forgot
the disc password to my main machine and have had to rebuild the
system from scratch.
Let me know if there's anything else I can help with.
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
https://www.codethink.co.uk/privacy.html