1/* { dg-do run } */
2/* { dg-options "-O1" } */
3
4void abort (void);
5
6void radix_tree_tag_clear (int *node)
7{
8	int *path[2], **pathp = path, height;
9	volatile int *addr;
10
11	height = 1;
12	pathp[0] = node;
13
14	while (height > 0) {
15		pathp[1] = pathp[0];
16		pathp++;
17		height--;
18	}
19
20	addr = pathp[0];
21	*addr = 1;
22}
23
24int main ()
25{
26	int n;
27	radix_tree_tag_clear (&n);
28	if (n != 1)
29		abort ();
30	return 0;
31}
32