http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55148
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-10-31 12:16:51 UTC --- As the docs for the Statement Expressions extension (http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html) say: "Any temporaries created within a statement within a statement expression will be destroyed at the statement's end." so GLOBAL_str_intermediate_buf[] is no longer valid after p is initialized and the memory can be reused.