------- Additional Comments From rth at gcc dot gnu dot org 2005-08-08 22:31 ------- I'm calling this one invalid. We've got:
eax __d0 early clobber ebx pic ecx __d1 early clobber edx __s input esi __res early clobber edi __d2 early clobber ebp frame pointer forced by alloca The problem with the "=&g"(__d3) operand is that (1) there are no more registers, and (2) there is no memory that doesn't conflict with the (*(struct { char __x[0xfffffff]; } *)__s) input, and thus there is no memory that can satisfy the early clobber. I'm not 100% certain why this was accepted before gcc 4, but I'm not curious enough to go looking. -- What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22045