On 22/05/17 03:46, Junio C Hamano wrote: > Hmph. I do not know what went wrong. The one I had in /usr/bin > that came from the distro was too old that it didn't give any useful > result and failed, and that was why I got v0.5.0-207-g14964df > installed in ~/gitstuff/bin/ which is early on my $PATH; I do not > think I did any other updates but now I am seeing happy results. > > $ git checkout jk/bug-to-abort^1 > $ make SP_OBJ=usage.sp sparse > GIT_VERSION = 2.13.0.3.g25cd291963 > SP usage.c > usage.c:220:6: error: symbol 'BUG_fl' redeclared with diff... To save yourself a little typing, if you want to run sparse over a single file: $ make usage.sp # ie simply replace '.c' with '.sp' ... is the recommended way to do it. This makes sure that the same flags are passed to cgcc as are passed to gcc as part of the build. Note that I would not normally run sparse directly on a source file (except when messing around with different versions!), the idea is to use cgcc as a frontend (as the Makefile does). Having said that, I rarely run sparse over just one file (except when fixing a sparse error/warning). On each branch (master->next->pu) I do $ make sparse >sp-out 2>&1 # nsp-out on 'next', psp-out on 'pu' ... so that I can diff the files from branch to branch. (I check the master branch file by hand. There is a single warning on Linux that is actually a sparse problem). Just FYI, for today's fetch: $ diff sp-out nsp-out $ diff nsp-out psp-out 12a13 > SP blame.c 42a44,46 > diff.c:813:6: warning: symbol 'emit_line' was not declared. Should it be static? > diff.c:828:6: warning: symbol 'emit_line_fmt' was not declared. Should it be static? > diff.c:1865:6: warning: symbol 'print_stat_summary_0' was not declared. Should it be static? 54a59 > SP fsmonitor.c 137a143 > SP sub-process.c 170a177 > SP compat/fopen.c 276a284 > builtin/worktree.c:539:38: warning: Using plain integer as NULL pointer 296a305 > SP t/helper/test-dir-iterator.c $ ATB, Ramsay Jones