Fix the following -Werror warning from clang 3.5.0, while building
lib/libngatm: sys/contrib/ngatm/netnatm/saal/saal_sscop.c:4030:32: error: 'break' is bound to current loop, GCC binds it to the enclosing loop [-Werror,-Wgcc-compat] } while(sn < sscop->vr_h && !QFIND(&sscop->rbuf, sn)); ^ sys/contrib/ngatm/netnatm/saal/saal_sscop.c:173:4: note: expanded from macro 'QFIND' break; \ ^ 1 error generated. The idea is to remove any ambiguity by replacing the macro with an equivalent static inline function. Reviewed by: emaste, rpaulo See also: http://reviews.llvm.org/D2518 Differential Revision: https://reviews.freebsd.org/D1188
This commit is contained in:
parent
c577699e4b
commit
cfd2f3f928
@ -163,18 +163,17 @@ static void sscop_set_state(struct sscop *, u_int);
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
|
||||
#define QFIND(Q,RN) \
|
||||
({ \
|
||||
struct sscop_msg *_msg = NULL, *_m; \
|
||||
MSGQ_FOREACH(_m, (Q)) { \
|
||||
if(_m->seqno == (RN)) { \
|
||||
_msg = _m; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
_msg; \
|
||||
})
|
||||
static inline struct sscop_msg *QFIND(sscop_msgq_head_t *q, u_int rn)
|
||||
{
|
||||
struct sscop_msg *msg = NULL, *m;
|
||||
MSGQ_FOREACH(m, q) {
|
||||
if(m->seqno == rn) {
|
||||
msg = m;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
#define QINSERT(Q,M) \
|
||||
do { \
|
||||
|
Loading…
Reference in New Issue
Block a user