Fix a bitwise negation assignment issue spotted by Sun Studio

Change direct and indirect assignments of the bitwise negation of 0 to uint32_t variables to have a "U" suffix. I.e. ~0U instead of ~0. This eliminates warnings under Sun Studio 12 Update 1: "vcs-svn/string_pool.c", line 11: warning: initializer will be sign-extended: -1 (E_INIT_SIGN_EXTEND) "vcs-svn/string_pool.c", line 81: warning: initializer will be sign-extended: -1 (E_INIT_SIGN_EXTEND) "vcs-svn/repo_tree.c", line 112: warning: initializer will be sign-extended: -1 (E_INIT_SIGN_EXTEND) "vcs-svn/repo_tree.c", line 112: warning: initializer will be sign-extended: -1 (E_INIT_SIGN_EXTEND) "test-treap.c", line 34: warning: initializer will be sign-extended: -1 (E_INIT_SIGN_EXTEND) The semantics are still the same as demonstrated by this program: $ cat test.c && make test && ./test #include <stdio.h> #include <stdint.h> int main(void) { uint32_t foo = ~0; uint32_t bar = ~0U; printf("foo = <%u> bar = <%u>\n", foo, bar); return 0; } cc test.c -o test "test.c", line 5: warning: initializer will be sign-extended: -1 foo = <4294967295> bar = <4294967295> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Dec 21, 2011 at 01:18 UTC 952fba9c63417d19e01fdf0b714f01b8ae9f3618
3 files changed +4 -4
test-treap.c
+1 -1
@@ -31,7 +31,7 @@ static void strtonode(struct int_node *item, const char *s)
31 int main(int argc, char *argv[])
32 {
33 struct strbuf sb = STRBUF_INIT;
34 - struct trp_root root = { ~0 };
34 + struct trp_root root = { ~0U };
35 uint32_t item;
36
37 if (argc != 1)
vcs-svn/repo_tree.c
+1 -1
@@ -109,7 +109,7 @@ static struct repo_dirent *repo_read_dirent(uint32_t revision,
109 static void repo_write_dirent(const uint32_t *path, uint32_t mode,
110 uint32_t content_offset, uint32_t del)
111 {
112 - uint32_t name, revision, dir_o = ~0, parent_dir_o = ~0;
112 + uint32_t name, revision, dir_o = ~0U, parent_dir_o = ~0U;
113 struct repo_dir *dir;
114 struct repo_dirent *key;
115 struct repo_dirent *dent = NULL;
vcs-svn/string_pool.c
+2 -2
@@ -8,7 +8,7 @@
8 #include "obj_pool.h"
9 #include "string_pool.h"
10
11 -static struct trp_root tree = { ~0 };
11 +static struct trp_root tree = { ~0U };
12
13 struct node {
14 uint32_t offset;
@@ -78,7 +78,7 @@ void pool_print_seq(uint32_t len, uint32_t *seq, char delim, FILE *stream)
78 uint32_t pool_tok_seq(uint32_t sz, uint32_t *seq, const char *delim, char *str)
79 {
80 char *context = NULL;
81 - uint32_t token = ~0;
81 + uint32_t token = ~0U;
82 uint32_t length;
83
84 if (sz == 0)