On Mon, Jun 09, 2014 at 08:02:24PM -0400, Jeff King wrote:
Ah, mystery solved. It's a gcc bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60014
I get:
$ gcc -c -Wall -Werror -DSHA1_HEADER='"block-sha1/sha1.h"' notes-merge.c
notes-merge.c: In function ‘notes_merge_commit’:
notes-merge.c:723:2: error: passing argument 2 of ‘strbuf_attach’
discards ‘const’ qualifier from pointer target type [-Werror]
...etc... $ gcc -E -Wall -Werror -DSHA1_HEADER='"block-sha1/sha1.h"' notes-merge.c >foo.c
$ gcc -c -Wall -Werror -DSHA1_HEADER='"block-sha1/sha1.h"' foo.c
[no warnings from either]
ccache uses the latter technique.
-Peff