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

[PATCH nd/struct-pathspec] declare 1-bit bitfields to be unsigned

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 16, 2011, 03:42 UTC
Message-ID
<20110316034232.GA26027@elie>
In-Reply-To
<20110316024959.GA24932@elie>

As "gcc -pedantic" notices, a two's complement 1-bit signed integer cannot represent the value '1'.

 dir.c: In function 'init_pathspec':
 dir.c:1291:4: warning: overflow in implicit constant conversion [-Woverflow]

In the spirit of v1.7.1-rc1~10 (2010-04-06), 'unsigned' is what was intended, so let's make the flags unsigned.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Jonathan Nieder wrote:
> I had the somewhat
> insane idea of turning on as many warnings as feasible and getting git
> to build with -Werror.

Here's another one. Based against f577b92 from master (aka nd/struct-pathspec).

 cache.h |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/cache.h b/cache.h
index 4beb2dc..edd5b5a 100644
--- a/cache.h
+++ b/cache.h
@@ -503,13 +503,13 @@ extern int ie_modified(const struct index_state *, struct cache_entry *, struct
 struct pathspec {
 	const char **raw; /* get_pathspec() result, not freed by free_pathspec() */
 	int nr;
-	int has_wildcard:1;
-	int recursive:1;
+	unsigned int has_wildcard:1;
+	unsigned int recursive:1;
 	int max_depth;
 	struct pathspec_item {
 		const char *match;
 		int len;
-		int has_wildcard:1;
+		unsigned int has_wildcard:1;
 	} *items;
 };
 
-- 
1.7.4.1
Previous: Jonathan NiederNext: Junio C Hamano
Message 2 of 34 in “reflog: silence -O3 -Wuninitialized warning”
  1. reflog: silence -O3 -Wuninitialized warningJonathan Nieder, Mar 16, 2011
  2. declare 1-bit bitfields to be unsignedJonathan Nieder, Mar 16, 2011
  3. Junio C HamanoMar 16, 2011
  4. Nguyen Thai Ngoc DuyMar 16, 2011
  5. Junio C HamanoMar 16, 2011
  6. Jonathan NiederMar 16, 2011
  7. Johannes SixtMar 16, 2011
  8. Jonathan NiederMar 16, 2011
  9. Johannes SixtMar 16, 2011
  10. Jonathan NiederMar 16, 2011
  11. 0/6 silence -Wuninitialized warnings that previously used the a = a trickJonathan Nieder, Mar 16, 2011
  12. 1/6 match-trees: kill off remaining -Wuninitialized warningJonathan Nieder, Mar 16, 2011
  13. 2/6 run-command: initialize failed_errno to 0Jonathan Nieder, Mar 16, 2011
  14. 3/6 diff --submodule: suppress -Wuninitialized warning by initializing to NULLJonathan Nieder, Mar 16, 2011
  15. 4/6 rsync transport: clarify insert_packed_refsJonathan Nieder, Mar 16, 2011
  16. 5/6 wt-status: protect against invalid change_typeJonathan Nieder, Mar 16, 2011
  17. 6/6 fast-import: suppress -Wuninitialized warning by initializing to NULLJonathan Nieder, Mar 16, 2011
  18. 0/8 more warnings and cleanupsJonathan Nieder, Mar 16, 2011
  19. 1/8 enums: omit trailing comma for portabilityJonathan Nieder, Mar 16, 2011
  20. 2/8 compat: make gcc bswap an inline functionJonathan Nieder, Mar 16, 2011
  21. Johannes SixtMar 16, 2011
  22. Jonathan NiederMar 16, 2011
  23. Junio C HamanoMar 16, 2011
  24. 3/8 svn-fe: do not use "return" for tail call returning voidJonathan Nieder, Mar 16, 2011
  25. 4/8 vcs-svn: remove spurious semicolonsJonathan Nieder, Mar 16, 2011
  26. Junio C HamanoMar 16, 2011
  27. Jonathan NiederMar 16, 2011
  28. 5/8 standardize brace placement in struct definitionsJonathan Nieder, Mar 16, 2011
  29. Junio C HamanoMar 18, 2011
  30. 6/8 branch: split off function that writes tracking info and commit subjectJonathan Nieder, Mar 16, 2011
  31. 7/8 cherry: split off function to print output linesJonathan Nieder, Mar 16, 2011
  32. 8/8 diff --submodule: split into bite-sized piecesJonathan Nieder, Mar 16, 2011
  33. Jens LehmannMar 16, 2011
  34. Jonathan NiederMar 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.