diff options
author | Gurucharan Shetty <gshetty@nicira.com> | 2014-09-09 14:23:07 -0700 |
---|---|---|
committer | Gurucharan Shetty <gshetty@nicira.com> | 2014-09-12 09:03:10 -0700 |
commit | f17e8ad6c6d61db95622872146a4f3706ae47166 (patch) | |
tree | a35789c2f4750d00239f6468ff1ef4c93adc4ea5 /lib/cmap.h | |
parent | 74467d5c885b8a500e0a04c455d6ee405d27bd54 (diff) | |
download | openvswitch-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.h | 6 |
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) |