------- Additional Comments From pbrook at gcc dot gnu dot org 2005-07-21 21:06 ------- gcc4 behaviour seems fine to me. A slightly simpler example int foo(int a) { int b; asm ("" : "+r" (b) : "r" (a)); return b; } Can be (and is) legitimately be transformed into int foo(int a) { asm ("" : "+r" (a) : "r" (a)); return a; } In which case it's much more obvious that the compiler is going to allocate the same register.
-- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20718