| /* PR debug/43058 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-g -O2" } */ |
| /* { dg-timeout-factor 4 } */ |
| |
| extern void *f1 (void *, void *, void *); |
| extern void *f2 (const char *, int, int, int, void *(*) ()); |
| extern void *f3 (const char *); |
| extern void *f4 (void *s); |
| extern void *f5 (void *); |
| |
| void test (void) |
| { |
| #define X1 f1 (f2 ("a", 1, 0, 0, f5), \ |
| f4 (({ const char *a = "b"; f3 (a); })), \ |
| ({ const char *a = "c"; f3 (a); })); |
| #define X2 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 |
| #define X3 X2 X2 X2 X2 X2 X2 X2 X2 X2 X2 |
| #define X4 X3 X3 X3 X3 X3 X3 X3 X3 X3 X3 |
| X4 X4 |
| } |