| /* PR91038 */ |
| /* { dg-do run } */ |
| /* { dg-options "-O2 -Wunused-variable" } */ |
| |
| |
| |
| void foo(void) |
| { |
| if (2 * sizeof(int) != sizeof((*({ int N = 2; int (*x)[9][N] = 0; x; })[1]))) |
| __builtin_abort(); |
| } |
| |
| void bar(void) |
| { |
| if (2 * sizeof(int) != sizeof((*({ int N = 2; int (*x)[9][N] = 0; x; })[0]))) |
| __builtin_abort(); |
| } |
| |
| void bar0(void) |
| { |
| if (2 * 9 * sizeof(int) != sizeof((*({ int N = 2; int (*x)[9][N] = 0; x; })))) |
| __builtin_abort(); |
| } |
| |
| void bar11(void) |
| { |
| sizeof(*((*({ int N = 2; int (*x)[9][N] = 0; x; }) + 0))); |
| } |
| |
| void bar12(void) |
| { |
| if (2 * sizeof(int) != sizeof(*((*({ int N = 2; int (*x)[9][N] = 0; x; }) )))) |
| __builtin_abort(); |
| } |
| |
| void bar1(void) |
| { |
| if (2 * sizeof(int) != sizeof(*((*({ int N = 2; int (*x)[9][N] = 0; x; }) + 0)))) |
| __builtin_abort(); |
| } |
| |
| |
| |
| |
| int main() |
| { |
| foo(); |
| bar0(); |
| bar12(); |
| bar1(); |
| bar(); |
| } |
| |