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