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