git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse error

From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Date
Oct 15, 2011, 17:46 UTC
Message-ID
<4E99C713.4090802@ramsay1.demon.co.uk>
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
Hi Junio,

This was originally part of the patch I sent last week (applied to next as commit 273c7032 - environment.c: Fix an sparse "symbol not declared" warning, 09-10-2011), since they both blame to commit 898eacd8 (fmt-merge-msg: use branch.$name.description, 06-10-2011).

However, sparse only issued this particular error on Linux, and not cygwin or MinGW, so I decided to remove this part of the patch until I could investigate further.

So, I had a look this afternoon and, *literally*, after no more than a minute I realized why that is ... *blush*. Well, it may already be obvious, that the Makefile has -Wno-one-bit-signed-bitfield set in the SPARSE_FLAGS for cygwin and MinGW! *ahem* :-P (now, who could have done that!)

This was mainly for the benefit of MinGW, since it otherwise issues 558 errors (2 * 279 compilations); cygwin only results in 2 errors as follows:

        SP compat/cygwin.c
    /usr/include/w32api/winuser.h:3083:28: error: dubious one-bit signed bitfield
    /usr/include/w32api/winuser.h:3084:25: error: dubious one-bit signed bitfield
since only compat/cygwin.c, indirectly, includes that win32 header file.

Unfortunately, you can't tell sparse not to issue errors/warnings for system header files. I could have lived with just the two errors on cygwin, but I wanted at least one platform to be free of sparse errors/warnings. I remember thinking that it would be OK to turn the messages off because I would notice them on Linux anyway! Ha! :-P

BTW, t7800-difftool.sh fails for me on the next branch; I haven't investigated yet.

ATB, Ramsay Jones

 builtin/fmt-merge-msg.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c
index 255a50f..7da6ff6 100644
--- a/builtin/fmt-merge-msg.c
+++ b/builtin/fmt-merge-msg.c
@@ -37,7 +37,7 @@ struct src_data {
 
 struct origin_data {
 	unsigned char sha1[20];
-	int is_local_branch:1;
+	unsigned int is_local_branch:1;
 };
 
 static void init_src_data(struct src_data *data)
-- 
1.7.7
Next: Junio C Hamano
Message 1 of 2 in “fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse error”
  1. fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse errorRamsay Jones, Oct 15, 2011
  2. Junio C HamanoOct 16, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.