too many warnigns for variable 'cons_next_next'

Svatopluk Kraus onwahe at gmail.com
Mon Jul 1 13:11:34 UTC 2013


Hi,

  could somebody help me, please, with too many following warnings:
sys/buf_ring.h:189:33: warning: variable 'cons_next_next' set but not used

As the warning is produced by header which is included a lot, the important
warnings are visible poorly among them. I think that buf_ring_dequeue_sc()
in sys/buf_ring.h could be change to suppress the warning this way:
static __inline void *
buf_ring_dequeue_sc(struct buf_ring *br)
{
-   uint32_t cons_head, cons_next, cons_next_next;
+   uint32_t cons_head, cons_next, cons_next_next __unused;
    uint32_t prod_tail;
    void *buf;

    cons_head = br->br_cons_head;
    prod_tail = br->br_prod_tail;

+   if (cons_head == prod_tail)
+       return (NULL);

    cons_next = (cons_head + 1) & br->br_cons_mask;
-   cons_next_next = (cons_head + 2) & br->br_cons_mask;

-   if (cons_head == prod_tail)
-       return (NULL);
#ifdef PREFETCH_DEFINED
+   cons_next_next = (cons_head + 2) & br->br_cons_mask;
    if (cons_next != prod_tail) {
        prefetch(br->br_ring[cons_next]);
        if (cons_next_next != prod_tail)
            prefetch(br->br_ring[cons_next_next]);
    }
#endif

Thanks for any respond,
Svata


More information about the freebsd-current mailing list