------- Comment #2 from jakub at gcc dot gnu dot org 2010-07-26 12:39 ------- Simplified testcase:
typedef unsigned int T; extern void foo (unsigned char *, int); static signed char a; static T b[1] = { -1 }; static unsigned char c; static inline short int bar (short v) { c |= a < b[0]; return 0; } int main () { unsigned char *e = &a; foo (e, bar (bar (c))); return 0; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45059