too many warnigns for variable 'cons_next_next'

Sergey Kandaurov pluknet at gmail.com
Mon Jul 1 13:40:37 UTC 2013


On 1 July 2013 17:11, Svatopluk Kraus <onwahe at gmail.com> wrote:
> 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
>

Why not put its declaration under #ifdef as well? YMMV.

-- 
wbr,
pluknet


More information about the freebsd-current mailing list