1 /* PR c/29154 */
2 
3 extern void abort (void);
4 
5 void
foo(int ** p,int * q)6 foo (int **p, int *q)
7 {
8   *(*p++)++ = *q++;
9 }
10 
11 void
bar(int ** p,int * q)12 bar (int **p, int *q)
13 {
14   **p = *q++;
15   *(*p++)++;
16 }
17 
18 void
baz(int ** p,int * q)19 baz (int **p, int *q)
20 {
21   **p = *q++;
22   (*p++)++;
23 }
24 
25 int
main(void)26 main (void)
27 {
28   int i = 42, j = 0;
29   int *p = &i;
30   foo (&p, &j);
31   if (p - 1 != &i || j != 0 || i != 0)
32     abort ();
33   i = 43;
34   p = &i;
35   bar (&p, &j);
36   if (p - 1 != &i || j != 0 || i != 0)
37     abort ();
38   i = 44;
39   p = &i;
40   baz (&p, &j);
41   if (p - 1 != &i || j != 0 || i != 0)
42     abort ();
43   return 0;
44 }
45