Eric Blake wrote: > In file included from gl_linkedhash_list.c:89: > gl_anylinked_list2.h: In function `gl_linked_indexof_from_to': > gl_anylinked_list2.h:431: warning: declaration of 'index' shadows a previous > local > gl_anylinked_list2.h:388: warning: shadowed declaration is here > gl_anylinked_list2.h:458: warning: declaration of 'index' shadows a previous > local > gl_anylinked_list2.h:388: warning: shadowed declaration is here
I see... > OK to install the following to silence -Wshadow? No. 'index1' is not a good variable name. I'm installing this instead. Thanks for the report. It was quite a luck that the references to 'index' always referred to the intended variable. 2006-10-10 Bruno Haible <[EMAIL PROTECTED]> Fix a gcc -Wshadow warning. * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index' to 'bucket'. * lib/gl_anylinked_list2.h (gl_linked_search_from_to, gl_linked_indexof_from_to): Likewise. * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket): Likewise. * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket): Likewise. * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise. Reported by Eric Blake. diff -u -r1.1 gl_anyhash_list2.h --- lib/gl_anyhash_list2.h 17 Jul 2006 11:27:18 -0000 1.1 +++ lib/gl_anyhash_list2.h 10 Oct 2006 12:38:15 -0000 @@ -113,9 +113,9 @@ { gl_hash_entry_t next = node->hash_next; /* Add the entry to the new table. */ - size_t index = node->hashcode % new_size; - node->hash_next = new_table[index]; - new_table[index] = node; + size_t bucket = node->hashcode % new_size; + node->hash_next = new_table[bucket]; + new_table[bucket] = node; node = next; } diff -u -r1.5 gl_anylinked_list2.h --- lib/gl_anylinked_list2.h 6 Oct 2006 12:06:07 -0000 1.5 +++ lib/gl_anylinked_list2.h 10 Oct 2006 12:38:15 -0000 @@ -229,7 +229,7 @@ (list->base.hashcode_fn != NULL ? list->base.hashcode_fn (elt) : (size_t)(uintptr_t) elt); - size_t index = hashcode % list->table_size; + size_t bucket = hashcode % list->table_size; gl_listelement_equals_fn equals = list->base.equals_fn; if (!list->base.allow_duplicates) @@ -238,7 +238,7 @@ gl_list_node_t found = NULL; gl_list_node_t node; - for (node = (gl_list_node_t) list->table[index]; + for (node = (gl_list_node_t) list->table[bucket]; node != NULL; node = (gl_list_node_t) node->h.hash_next) if (node->h.hashcode == hashcode @@ -279,7 +279,7 @@ gl_list_node_t first_match = NULL; gl_list_node_t node; - for (node = (gl_list_node_t) list->table[index]; + for (node = (gl_list_node_t) list->table[bucket]; node != NULL; node = (gl_list_node_t) node->h.hash_next) if (node->h.hashcode == hashcode @@ -385,7 +385,7 @@ (list->base.hashcode_fn != NULL ? list->base.hashcode_fn (elt) : (size_t)(uintptr_t) elt); - size_t index = hashcode % list->table_size; + size_t bucket = hashcode % list->table_size; gl_listelement_equals_fn equals = list->base.equals_fn; gl_list_node_t node; @@ -393,7 +393,7 @@ if (!list->base.allow_duplicates) { /* Look for the first match in the hash bucket. */ - for (node = (gl_list_node_t) list->table[index]; + for (node = (gl_list_node_t) list->table[bucket]; node != NULL; node = (gl_list_node_t) node->h.hash_next) if (node->h.hashcode == hashcode @@ -408,7 +408,7 @@ bool multiple_matches = false; gl_list_node_t first_match = NULL; - for (node = (gl_list_node_t) list->table[index]; + for (node = (gl_list_node_t) list->table[bucket]; node != NULL; node = (gl_list_node_t) node->h.hash_next) if (node->h.hashcode == hashcode diff -u -r1.2 gl_anytreehash_list1.h --- lib/gl_anytreehash_list1.h 5 Oct 2006 12:45:16 -0000 1.2 +++ lib/gl_anytreehash_list1.h 10 Oct 2006 12:38:15 -0000 @@ -109,7 +109,7 @@ static void add_to_bucket (gl_list_t list, gl_list_node_t new_node) { - size_t index = new_node->h.hashcode % list->table_size; + size_t bucket = new_node->h.hashcode % list->table_size; /* If no duplicates are allowed, multiple nodes are not needed. */ if (list->base.allow_duplicates) @@ -119,7 +119,7 @@ gl_listelement_equals_fn equals = list->base.equals_fn; gl_hash_entry_t *entryp; - for (entryp = &list->table[index]; *entryp != NULL; entryp = &(*entryp)->hash_next) + for (entryp = &list->table[bucket]; *entryp != NULL; entryp = &(*entryp)->hash_next) { gl_hash_entry_t entry = *entryp; @@ -171,8 +171,8 @@ } } /* If no duplicates are allowed, multiple nodes are not needed. */ - new_node->h.hash_next = list->table[index]; - list->table[index] = &new_node->h; + new_node->h.hash_next = list->table[bucket]; + list->table[bucket] = &new_node->h; } /* Remove a node from the hash table structure. @@ -184,7 +184,7 @@ static void remove_from_bucket (gl_list_t list, gl_list_node_t old_node) { - size_t index = old_node->h.hashcode % list->table_size; + size_t bucket = old_node->h.hashcode % list->table_size; if (list->base.allow_duplicates) { @@ -193,7 +193,7 @@ gl_listelement_equals_fn equals = list->base.equals_fn; gl_hash_entry_t *entryp; - for (entryp = &list->table[index]; ; entryp = &(*entryp)->hash_next) + for (entryp = &list->table[bucket]; ; entryp = &(*entryp)->hash_next) { gl_hash_entry_t entry = *entryp; @@ -239,7 +239,7 @@ /* If no duplicates are allowed, multiple nodes are not needed. */ gl_hash_entry_t *entryp; - for (entryp = &list->table[index]; ; entryp = &(*entryp)->hash_next) + for (entryp = &list->table[bucket]; ; entryp = &(*entryp)->hash_next) { if (*entryp == &old_node->h) { diff -u -r1.2 gl_anytreehash_list2.h --- lib/gl_anytreehash_list2.h 5 Oct 2006 12:45:16 -0000 1.2 +++ lib/gl_anytreehash_list2.h 10 Oct 2006 12:38:15 -0000 @@ -31,13 +31,13 @@ (list->base.hashcode_fn != NULL ? list->base.hashcode_fn (elt) : (size_t)(uintptr_t) elt); - size_t index = hashcode % list->table_size; + size_t bucket = hashcode % list->table_size; gl_listelement_equals_fn equals = list->base.equals_fn; gl_hash_entry_t entry; if (list->base.allow_duplicates) { - for (entry = list->table[index]; entry != NULL; entry = entry->hash_next) + for (entry = list->table[bucket]; entry != NULL; entry = entry->hash_next) if (entry->hashcode == hashcode) { if (((struct gl_multiple_nodes *) entry)->magic == MULTIPLE_NODES_MAGIC) @@ -102,7 +102,7 @@ else { /* If no duplicates are allowed, multiple nodes are not needed. */ - for (entry = list->table[index]; entry != NULL; entry = entry->hash_next) + for (entry = list->table[bucket]; entry != NULL; entry = entry->hash_next) if (entry->hashcode == hashcode) { gl_list_node_t node = (struct gl_list_node_impl *) entry; diff -u -r1.6 gl_linkedhash_list.c --- lib/gl_linkedhash_list.c 6 Oct 2006 12:06:07 -0000 1.6 +++ lib/gl_linkedhash_list.c 10 Oct 2006 12:38:15 -0000 @@ -58,20 +58,20 @@ static inline void add_to_bucket (gl_list_t list, gl_list_node_t node) { - size_t index = node->h.hashcode % list->table_size; + size_t bucket = node->h.hashcode % list->table_size; - node->h.hash_next = list->table[index]; - list->table[index] = &node->h; + node->h.hash_next = list->table[bucket]; + list->table[bucket] = &node->h; } /* Remove a node from the hash table structure. */ static inline void remove_from_bucket (gl_list_t list, gl_list_node_t node) { - size_t index = node->h.hashcode % list->table_size; + size_t bucket = node->h.hashcode % list->table_size; gl_hash_entry_t *p; - for (p = &list->table[index]; ; p = &(*p)->hash_next) + for (p = &list->table[bucket]; ; p = &(*p)->hash_next) { if (*p == &node->h) {