Bug#153472: G++ 3.1.1 incorrectly handles clobbered registers in "asm volatile ()"

2002-07-18 Thread Martin v. Loewis
"Nikita V. Youshchenko" <[EMAIL PROTECTED]> writes: > "asm" statement here clobbers %ebx register. And it tells the compiler > after the third semicolon that %ebx is clobbered, so compiler should not > depend on any value stored there. Notice that this really is a bug in your program. In PIC co

Bug#153472: G++ 3.1.1 incorrectly handles clobbered registers in "asm volatile ()"

2002-07-18 Thread Nikita V. Youshchenko
Package: g++-3.1 Version: 1:3.1.1-0pre3 Architecture: i386 G++ 3.1 on i386 seems to handle asm volatile() incorrectly. Example follows: t.cpp: - struct Packet; struct shm { int receive_count; Packet ** receive; } * rtms_shm; static inline Packet * receivePacket (