1 /* { dg-do run } */
2 /* { dg-options "-O1" } */
3 
4 void abort (void);
5 
radix_tree_tag_clear(int * node)6 void 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 
main()24 int main ()
25 {
26 	int n;
27 	radix_tree_tag_clear (&n);
28 	if (n != 1)
29 		abort ();
30 	return 0;
31 }
32