http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59155
--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- By the way, the following: double f(double x){ asm volatile("":"+X"(x)); return x; } double g(){ return f(1.); } is rejected with: c.c: In function 'g': c.c:2:3: error: inconsistent operand constraints in an 'asm' asm volatile("":"+X"(x)); ^