1/* PR c/29154 */
2
3extern void abort (void);
4
5void
6foo (int **p, int *q)
7{
8  *(*p++)++ = *q++;
9}
10
11void
12bar (int **p, int *q)
13{
14  **p = *q++;
15  *(*p++)++;
16}
17
18void
19baz (int **p, int *q)
20{
21  **p = *q++;
22  (*p++)++;
23}
24
25int
26main (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