Problems with inline assembler in gcc-3.2
Richard Henderson
rth@redhat.com
Fri Oct 25 16:27:00 GMT 2002
On Fri, Oct 25, 2002 at 02:40:54PM +0530, Jaimon Jose wrote:
> static inline int atomic_inc(volatile int *p)
> {
> __asm__ __volatile__(
> "lock; incl %0"
> :"=m" (*p)
> :"0" (*p));
You're in dicey territory here. The compiler believes that
you have two references to a volatile memory, and so it can't
put them at the same location. This is clearly not what you
intended.
File a bug. This should be handled more gracefully.
r~
More information about the Gcc-bugs
mailing list