1/* PR debug/43058 */ 2/* { dg-do compile } */ 3/* { dg-options "-g -O2" } */ 4/* { dg-timeout-factor 4 } */ 5 6extern void *f1 (void *, void *, void *); 7extern void *f2 (const char *, int, int, int, void *(*) ()); 8extern void *f3 (const char *); 9extern void *f4 (void *s); 10extern void *f5 (void *); 11 12void 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