The coding style followed across liburcu is to use parenthesis around
macro parameters when it would otherwise lead to unexpected results due
to priority of operators. Fix rcuhlist.h to follow this coding style.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I2f7988e96ce495d68960c5f1036aa6953d3ff53b
* This must be done while rcu_read_lock() is held.
*/
#define cds_hlist_for_each_rcu(pos, head) \
* This must be done while rcu_read_lock() is held.
*/
#define cds_hlist_for_each_rcu(pos, head) \
- for (pos = rcu_dereference((head)->next); pos != NULL; \
- pos = rcu_dereference(pos->next))
+ for (pos = rcu_dereference((head)->next); (pos) != NULL; \
+ pos = rcu_dereference((pos)->next))
/*
* cds_hlist_for_each_entry_rcu takes 4 arguments, while the Linux
/*
* cds_hlist_for_each_entry_rcu takes 4 arguments, while the Linux
*/
#define cds_hlist_for_each_entry_rcu(entry, pos, head, member) \
for (pos = rcu_dereference((head)->next), \
*/
#define cds_hlist_for_each_entry_rcu(entry, pos, head, member) \
for (pos = rcu_dereference((head)->next), \
- entry = cds_hlist_entry(pos, __typeof__(*entry), member); \
- pos != NULL; \
- pos = rcu_dereference(pos->next), \
- entry = cds_hlist_entry(pos, __typeof__(*entry), member))
+ entry = cds_hlist_entry(pos, __typeof__(*(entry)), member); \
+ (pos) != NULL; \
+ pos = rcu_dereference((pos)->next), \
+ entry = cds_hlist_entry(pos, __typeof__(*(entry)), member))
#define cds_hlist_for_each_entry_rcu_2(entry, head, member) \
for (entry = cds_hlist_entry_safe(rcu_dereference((head)->next), \
#define cds_hlist_for_each_entry_rcu_2(entry, head, member) \
for (entry = cds_hlist_entry_safe(rcu_dereference((head)->next), \
- __typeof__(*entry), member); \
- entry != NULL; \
- entry = cds_hlist_entry_safe(rcu_dereference(entry->member.next), \
- __typeof__(*entry), member))
+ __typeof__(*(entry)), member); \
+ (entry) != NULL; \
+ entry = cds_hlist_entry_safe(rcu_dereference((entry)->member.next), \
+ __typeof__(*(entry)), member))
#endif /* _URCU_RCUHLIST_H */
#endif /* _URCU_RCUHLIST_H */