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