1 /* { dg-do compile } */
2 /* { dg-options "-O" } */
3 
4 char *bar (void);
5 __INTPTR_TYPE__ baz (void);
6 
7 void
foo(__INTPTR_TYPE__ * q)8 foo (__INTPTR_TYPE__ *q)
9 {
10   char *p = bar ();
11   __INTPTR_TYPE__ a = baz ();
12   __INTPTR_TYPE__ b = baz ();
13   int i = 0;
14 #define X q[i++] = a; q[i++] = b; a = a + b; b = b + a;
15 #define Y X X X X X X X X X X
16 #define Z Y Y Y Y Y Y Y Y Y Y
17   Z Z Z Z Z Z Z Z Z Z
18       p[a] = 1;
19   p[b] = 2;
20 }
21