C++ inlne asm bug

Zoltan Hidvegi hzoli@austin.ibm.com
Sat May 27 14:32:00 GMT 2000

In C++ when using inline asm with clobbers string concatenation does
not work for the clobber part.  E.g. on Intel the following compiles
as a C program, but fails to compile as C++:

    __asm__ __volatile__("" : : : "di" "");

I know it is meaningless, the original asm I was using which faild was
on rs6k PowerPC:

#define LFD(X,Y) __asm__ __volatile__("lfd " #X ",0(%0)" : : "r"(Y) : "fr" #X)

foo(double *p)

Again, this works in C but not in C++.

This bug is present in gcc-2.95 as well as in the April 18 snapshot.


More information about the Gcc-bugs mailing list