http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48462
Paul Thomas <pault at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #4 from Paul Thomas <pault at gcc dot gnu.org> 2011-04-08 04:23:05 UTC --- This should be easy. The only difference between default (failing) and -fno-realloc-lhs is a chunk at the beginning of the assignment: { void * D.1571; D.1571 = (void *) a.data; if (D.1571 != 0B) { __builtin_free (D.1571); } } a.data = 0B; a.dtype = 538; which sort of does a job on 'a'. I say that it is easy because there are not many sections in trans-xxx that hide behind the -frealloc-lhs condition. It's obviously mine. Paul