On Sun, 31 May 2009, Lei Zhang wrote: [...]
Speaking of pre-commit checking, the Wine wiki page for patchwatcher page [1] currently list the following todo items:
Check for C++ comments.
Currently we don't have a good way of detecting these. winapi_check attempts to detect them but it gets fooled by stuff like foo("http://www.winehq.org") or /* http://www.winehq.org */. With a better C parser it may work.
Check for nameless unions (GCC 2.95).
The way I check for these is to compile with gcc 2.95. However nowadays that requires using a Debian 4.0 chroot because gcc 2.95 is not supported anymore by the recent glibc and other libraries. So this is not a good way to detect these issues in a commit hook. I'm not sure detecting such issues would be easy in a script.
Check for missing "\n"s in traces/fixmes/etc.
These have a bunch of exceptions. There are really a bunch of cases where there is intentionally no trailing '\n'. Typically because we're dumping a bunch of flags or the contents of an array in hexadecimal. So the pre commit hook would have to be overridable and would need a regularly updated list of exceptions so people committing stuff on these files don't get warned again and again.
Make sure sizeof is not used in traces.
This looks like it could be reasonably easy to check for. Actually it's not just traces it's all forms of printf.