1struct A { 2 long a; 3}; 4 5static inline void foo(struct A *x) 6{ 7 __asm__ __volatile__("" : "+m"(x->a) : "r"(x) : "memory", "cc"); 8} 9 10static inline void bar(struct A *x) 11{ 12 foo(x); 13} 14 15struct B { char buf[640]; struct A a; }; 16struct B b[32]; 17 18int baz(void) 19{ 20 int i; 21 struct B *j; 22 for (i = 1; i < 32; i++) 23 { 24 j = &b[i]; 25 bar(&j->a); 26 } 27 return 0; 28} 29