Re: too many warnigns for variable 'cons_next_next'

From: Sergey Kandaurov <pluknet_at_gmail.com>
Date: Mon, 1 Jul 2013 17:40:35 +0400
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
Received on Mon Jul 01 2013 - 11:40:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:39 UTC