------- Comment #1 from jakub at gcc dot gnu dot org 2009-07-08 23:09 ------- Caused by r149060. Will debug tomorrow. Alternative testcase that doesn't warn about VLA at file scope: #define M1(x) (((x) & 0x00000002) ? 0x2 : ((x) & 0x1)) #define M2(x) (((x) & 0x0000000c) ? M1 ((x) >> 2) << 2 : M1 (x)) struct A { char f[1]; }; int foo (void) { return M2 (4096UL - (long)&((struct A *) 16UL)->f); }
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40692