| struct A { | |
| long a; | |
| }; | |
| static inline void foo(struct A *x) | |
| { | |
| __asm__ __volatile__("" : "+m"(x->a) : "r"(x) : "memory", "cc"); | |
| } | |
| static inline void bar(struct A *x) | |
| { | |
| foo(x); | |
| } | |
| struct B { char buf[640]; struct A a; }; | |
| struct B b[32]; | |
| int baz(void) | |
| { | |
| int i; | |
| struct B *j; | |
| for (i = 1; i < 32; i++) | |
| { | |
| j = &b[i]; | |
| bar(&j->a); | |
| } | |
| return 0; | |
| } |