http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58956
Mikael Pettersson <mikpelinux at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikpelinux at gmail dot com --- Comment #2 from Mikael Pettersson <mikpelinux at gmail dot com> --- gcc 4.5.4 and 4.4.7 are also broken, but 4.3.6 is Ok. Started with r142396. The effect of that revision is that { struct S *i = c; *i = foo (); is compiled as if it had been written { struct S tmp = foo (); *c = tmp; which is wrong since foo may (and in this case does) change c.