/* Test for flexible array members. Test for agreement of offset and structure size. This is expected to fail, because of a possible defect in the standard. */ /* Origin: http://gcc.gnu.org/ml/gcc/2002-05/msg02844.html from Tony Finch , adapted to a testcase by Joseph Myers . See also WG14 reflector messages 9571-3. */ /* { dg-do compile } */ /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ #include struct foo { int a; short b; char pad[]; }; struct bar { int a; short b; char pad[1024]; }; char x[(sizeof(struct foo) == offsetof(struct foo, pad)) ? 1 : -1]; /* { dg-bogus "negative" "sizeof != offsetof" { xfail *-*-* } } */ char y[(offsetof(struct foo, pad) == offsetof(struct bar, pad)) ? 1 : -1];