Here's what is actually triggering that crap. Have fun... #define __u16 unsigned short static inline __attribute__((__const__)) __u16 f(__u16 val) { return val; } static inline void barf(unsigned int len) { } static inline unsigned int bar(__u16 n) { switch (n) { case (__builtin_constant_p(1) ? 1 : f(1)): return 4; default: return 0; } } int foo(__u16 n) { unsigned int x = bar(n); barf(bar(n)); return 0; } -- 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