From 33e191a01b2c5aad1e97c109e66dec4b4d280ef6 Mon Sep 17 00:00:00 2001 From: Alex Wang Date: Mon, 22 Jul 2013 09:19:57 -0700 Subject: [PATCH] clang: Fix the "expression result unused" warning. This commit makes macro function "ASSIGN_CONTAINER()" evaluates to "(void)0". This is to avoid the 'clang' warning: "expression result unused", since most of time, the final evaluated value is not used. Signed-off-by: Alex Wang Signed-off-by: Ben Pfaff --- lib/classifier.h | 2 +- lib/heap.h | 6 +++--- lib/hindex.h | 2 +- lib/hmap.h | 2 +- lib/list.h | 10 +++++----- lib/util.h | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/classifier.h b/lib/classifier.h index 09b3a131a..a14a24d27 100644 --- a/lib/classifier.h +++ b/lib/classifier.h @@ -132,7 +132,7 @@ struct cls_rule *cls_cursor_next(struct cls_cursor *, struct cls_rule *); for (ASSIGN_CONTAINER(RULE, cls_cursor_first(CURSOR), MEMBER); \ (RULE != OBJECT_CONTAINING(NULL, RULE, MEMBER) \ ? ASSIGN_CONTAINER(NEXT, cls_cursor_next(CURSOR, &(RULE)->MEMBER), \ - MEMBER) \ + MEMBER), 1 \ : 0); \ (RULE) = (NEXT)) diff --git a/lib/heap.h b/lib/heap.h index 9326d79a2..5c07e0454 100644 --- a/lib/heap.h +++ b/lib/heap.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012 Nicira, Inc. + * Copyright (c) 2012, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -69,13 +69,13 @@ void heap_rebuild(struct heap *); #define HEAP_FOR_EACH(NODE, MEMBER, HEAP) \ for (((HEAP)->n > 0 \ ? ASSIGN_CONTAINER(NODE, (HEAP)->array[1], MEMBER) \ - : ((NODE) = NULL, 1)); \ + : ((NODE) = NULL, (void) 0)); \ (NODE) != NULL; \ ((NODE)->MEMBER.idx < (HEAP)->n \ ? ASSIGN_CONTAINER(NODE, \ (HEAP)->array[(NODE)->MEMBER.idx + 1], \ MEMBER) \ - : ((NODE) = NULL, 1))) + : ((NODE) = NULL, (void) 0))) /* Returns the index of the node that is the parent of the node with the given * 'idx' within a heap. */ diff --git a/lib/hindex.h b/lib/hindex.h index ce46596ad..fb6b6d2bd 100644 --- a/lib/hindex.h +++ b/lib/hindex.h @@ -147,7 +147,7 @@ struct hindex_node *hindex_node_with_hash(const struct hindex *, size_t hash); #define HINDEX_FOR_EACH_SAFE(NODE, NEXT, MEMBER, HINDEX) \ for (ASSIGN_CONTAINER(NODE, hindex_first(HINDEX), MEMBER); \ (NODE != OBJECT_CONTAINING(NULL, NODE, MEMBER) \ - ? ASSIGN_CONTAINER(NEXT, hindex_next(HINDEX, &(NODE)->MEMBER), MEMBER) \ + ? ASSIGN_CONTAINER(NEXT, hindex_next(HINDEX, &(NODE)->MEMBER), MEMBER), 1 \ : 0); \ (NODE) = (NEXT)) diff --git a/lib/hmap.h b/lib/hmap.h index c7df62a7f..ab7d3ae8c 100644 --- a/lib/hmap.h +++ b/lib/hmap.h @@ -146,7 +146,7 @@ bool hmap_contains(const struct hmap *, const struct hmap_node *); #define HMAP_FOR_EACH_SAFE(NODE, NEXT, MEMBER, HMAP) \ for (ASSIGN_CONTAINER(NODE, hmap_first(HMAP), MEMBER); \ (NODE != OBJECT_CONTAINING(NULL, NODE, MEMBER) \ - ? ASSIGN_CONTAINER(NEXT, hmap_next(HMAP, &(NODE)->MEMBER), MEMBER) \ + ? ASSIGN_CONTAINER(NEXT, hmap_next(HMAP, &(NODE)->MEMBER), MEMBER), 1 \ : 0); \ (NODE) = (NEXT)) diff --git a/lib/list.h b/lib/list.h index 55e0d0add..786b176c1 100644 --- a/lib/list.h +++ b/lib/list.h @@ -72,11 +72,11 @@ bool list_is_short(const struct list *); for (ASSIGN_CONTAINER(ITER, (ITER)->MEMBER.prev, MEMBER); \ &(ITER)->MEMBER != (LIST); \ ASSIGN_CONTAINER(ITER, (ITER)->MEMBER.prev, MEMBER)) -#define LIST_FOR_EACH_SAFE(ITER, NEXT, MEMBER, LIST) \ - for (ASSIGN_CONTAINER(ITER, (LIST)->next, MEMBER); \ - (&(ITER)->MEMBER != (LIST) \ - ? ASSIGN_CONTAINER(NEXT, (ITER)->MEMBER.next, MEMBER) \ - : 0); \ +#define LIST_FOR_EACH_SAFE(ITER, NEXT, MEMBER, LIST) \ + for (ASSIGN_CONTAINER(ITER, (LIST)->next, MEMBER); \ + (&(ITER)->MEMBER != (LIST) \ + ? ASSIGN_CONTAINER(NEXT, (ITER)->MEMBER.next, MEMBER), 1 \ + : 0); \ (ITER) = (NEXT)) #endif /* list.h */ diff --git a/lib/util.h b/lib/util.h index 2159594cb..911ad3218 100644 --- a/lib/util.h +++ b/lib/util.h @@ -189,9 +189,9 @@ is_pow2(uintmax_t x) * that that OBJECT points to, assigns the address of the outer object to * OBJECT, which must be an lvalue. * - * Evaluates to 1. */ + * Evaluates to (void) 0 as the result is not to be used. */ #define ASSIGN_CONTAINER(OBJECT, POINTER, MEMBER) \ - ((OBJECT) = OBJECT_CONTAINING(POINTER, OBJECT, MEMBER), 1) + ((OBJECT) = OBJECT_CONTAINING(POINTER, OBJECT, MEMBER), (void) 0) #ifdef __cplusplus extern "C" { -- 2.47.0