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