------- Comment #21 from ian at airs dot com 2009-02-09 22:37 ------- I agree with Jakub that the original test case, and the one in comment #7, appear to conform to the documented gcc extension. I think that gcc has to treat this sort of code as valid, and not break it. We can't casually or accidentally break our documented extensions.
Unfortunately this means that in a function which contains both local register variables and an asm, we must severely restrict any code motion which may involve a function call or the use of hidden registers. We should explicitly express a dependency between any asm and any local register variable in scope for the asm. That won't solve the problem by itself, though. -- ian at airs dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ian at airs dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39139