1 /* PR debug/43058 */
2 /* { dg-do compile } */
3 /* { dg-options "-g -O2" } */
4 /* { dg-timeout-factor 4 } */
5 
6 extern void *f1 (void *, void *, void *);
7 extern void *f2 (const char *, int, int, int, void *(*) ());
8 extern void *f3 (const char *);
9 extern void *f4 (void *s);
10 extern void *f5 (void *);
11 
test(void)12 void test (void)
13 {
14 #define X1 f1 (f2 ("a", 1, 0, 0, f5), \
15 	       f4 (({ const char *a = "b"; f3 (a); })), \
16 	       ({ const char *a = "c"; f3 (a); }));
17 #define X2 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1
18 #define X3 X2 X2 X2 X2 X2 X2 X2 X2 X2 X2
19 #define X4 X3 X3 X3 X3 X3 X3 X3 X3 X3 X3
20   X4 X4
21 }
22