label 'continue' already bound, unreplaced symbol 'return'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

Here are some interesting testcases from the same hal.c from ndiswrapper
that was triggering the crash.

static inline int foo(void)
{
    do {
    } while (0);
    return 0;
}
int bar(void);
int bar(void)
{
    return foo();
}
typeof(bar) quux;


hal.c:12:13: warning: symbol 'quux' was not declared. Should it be
static?
hal.c:3:5: warning: label 'continue' already bound
hal.c:3:5: warning: label 'break' already bound


static inline int foo(void)
{
    return 0;
}
typeof(foo) quux;

hal.c:3:5: warning: unreplaced symbol 'return'
hal.c:1:19: warning: unreplaced symbol 'return'
hal.c:5:13: warning: symbol 'quux' was not declared. Should it be
static?


static inline void foo(void)
{
    do {} while (0);
}
typeof(foo) quux;

hal.c:3:5: warning: unreplaced symbol 'break'
hal.c:3:5: warning: unreplaced symbol 'continue'
hal.c:1:20: warning: unreplaced symbol 'return'
hal.c:5:13: warning: symbol 'quux' was not declared. Should it be
static?

"extern" before "typeof" fixes all warnings.

-- 
Regards,
Pavel Roskin
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux