| // PR middle-end/42803 |
| // { dg-do compile } |
| // { dg-options "-O0" } |
| |
| #define X2 (a + a) |
| #define X4 (X2 + X2) |
| #define X8 (X4 + X4) |
| #define X16 (X8 + X8) |
| #define X32 (X16 + X16) |
| #define X64 (X32 + X32) |
| #define X128 (X64 + X64) |
| #define X256 (X128 + X128) |
| #define X512 (X256 + X256) |
| #define X1024 (X512 + X512) |
| #define X2048 (X1024 + X1024) |
| #define X4096 (X2048 + X2048) |
| #define X8192 (X4096 + X4096) |
| #define X16384 (X8192 + X8192) |
| #define X32768 (X16384 + X16384) |
| #define X65536 (X32768 + X32768) |
| #define X131072 (X65536 + X65536) |
| #define X262144 (X131072 + X131072) |
| |
| int |
| foo (int a) |
| { |
| int v = X262144; |
| return v; |
| } |
| |
| // Emit an error to just make sure we don't waste too much time |
| // in the middle-end compiling this. |
| int |
| bar (void) |
| { |
| return x; // { dg-error "was not declared in this scope" } |
| } |