summaryrefslogtreecommitdiff
path: root/lib/cmap.h
diff options
context:
space:
mode:
authorGurucharan Shetty <gshetty@nicira.com>2014-09-09 14:23:07 -0700
committerGurucharan Shetty <gshetty@nicira.com>2014-09-12 09:03:10 -0700
commitf17e8ad6c6d61db95622872146a4f3706ae47166 (patch)
treea35789c2f4750d00239f6468ff1ef4c93adc4ea5 /lib/cmap.h
parent74467d5c885b8a500e0a04c455d6ee405d27bd54 (diff)
downloadopenvswitch-f17e8ad6c6d61db95622872146a4f3706ae47166.tar.gz
Avoid uninitialized variable warnings with OBJECT_OFFSETOF() in MSVC.
Implementation of OBJECT_OFFSETOF() for non-GNUC compilers like MSVC causes "uninitialized variable" warnings. Since OBJECT_OFFSETOF() is indirectly used through all the *_FOR_EACH() (through ASSIGN_CONTAINER() and OBJECT_CONTAINING()) macros, the OVS build on Windows gets littered with "uninitialized variable" warnings. This patch attempts to workaround the problem. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Saurabh Shah <ssaurabh@vmware.com> Acked-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'lib/cmap.h')
-rw-r--r--lib/cmap.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/cmap.h b/lib/cmap.h
index 038db6c04..793202de6 100644
--- a/lib/cmap.h
+++ b/lib/cmap.h
@@ -114,11 +114,11 @@ void cmap_replace(struct cmap *, struct cmap_node *old_node,
* to change during iteration. It may be very slightly faster.
*/
#define CMAP_FOR_EACH_WITH_HASH(NODE, MEMBER, HASH, CMAP) \
- for (ASSIGN_CONTAINER(NODE, cmap_find(CMAP, HASH), MEMBER); \
+ for (INIT_CONTAINER(NODE, cmap_find(CMAP, HASH), MEMBER); \
(NODE) != OBJECT_CONTAINING(NULL, NODE, MEMBER); \
ASSIGN_CONTAINER(NODE, cmap_node_next(&(NODE)->MEMBER), MEMBER))
#define CMAP_FOR_EACH_WITH_HASH_PROTECTED(NODE, MEMBER, HASH, CMAP) \
- for (ASSIGN_CONTAINER(NODE, cmap_find_locked(CMAP, HASH), MEMBER); \
+ for (INIT_CONTAINER(NODE, cmap_find_locked(CMAP, HASH), MEMBER); \
(NODE) != OBJECT_CONTAINING(NULL, NODE, MEMBER); \
ASSIGN_CONTAINER(NODE, cmap_node_next_protected(&(NODE)->MEMBER), \
MEMBER))
@@ -174,7 +174,7 @@ struct cmap_node *cmap_find_protected(const struct cmap *, uint32_t hash);
#define CMAP_CURSOR_FOR_EACH__(NODE, CURSOR, MEMBER) \
((CURSOR)->node \
- ? (ASSIGN_CONTAINER(NODE, (CURSOR)->node, MEMBER), \
+ ? (INIT_CONTAINER(NODE, (CURSOR)->node, MEMBER), \
cmap_cursor_advance(CURSOR), \
true) \
: false)