summaryrefslogtreecommitdiff
path: root/libbcachefs/fifo.h
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/fifo.h')
-rw-r--r--libbcachefs/fifo.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/libbcachefs/fifo.h b/libbcachefs/fifo.h
index 789ae663..085d828e 100644
--- a/libbcachefs/fifo.h
+++ b/libbcachefs/fifo.h
@@ -108,17 +108,17 @@ do { \
#define fifo_peek(fifo) fifo_peek_front(fifo)
#define fifo_for_each_entry(_entry, _fifo, _iter) \
- for (((void) (&(_iter) == &(_fifo)->front)), \
- _iter = (_fifo)->front; \
+ for (typecheck(typeof((_fifo)->front), _iter), \
+ (_iter) = (_fifo)->front; \
((_iter != (_fifo)->back) && \
(_entry = (_fifo)->data[(_iter) & (_fifo)->mask], true)); \
- _iter++)
+ (_iter)++)
#define fifo_for_each_entry_ptr(_ptr, _fifo, _iter) \
- for (((void) (&(_iter) == &(_fifo)->front)), \
- _iter = (_fifo)->front; \
+ for (typecheck(typeof((_fifo)->front), _iter), \
+ (_iter) = (_fifo)->front; \
((_iter != (_fifo)->back) && \
(_ptr = &(_fifo)->data[(_iter) & (_fifo)->mask], true)); \
- _iter++)
+ (_iter)++)
#endif /* _BCACHEFS_FIFO_H */