On Tue, May 31, 2011 at 11:58 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > Here's what is actually triggering that crap. Have fun... Here is a slightly simpler version. However I haven't figure out how this happen yet. Here is what I know so far: 1) It happens with two nested inline within one function. Inline bar() once the bug does not trigger. 2) It seems have some thing to do with dead statement call to inline functions. I am still scratching my head on that inline/uninline business. My guess is that there is some where we short circuit the inline copy due to dead statement but some other part of the code does not agree. Chris #define __u16 unsigned short int foo(__u16 n); static inline __u16 f(__u16 val) { return val; } static inline unsigned int bar(__u16 n) { switch (n) { case (1 ? 1 : f(1)): return 4; } } int foo(__u16 n) { bar(n); 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