http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56737
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2013-03-27 20:24:11 UTC --- If one sets the breakpoint in _gfortrani_next_format, one gets for the original, non cached version: (gdb) p dtp->u.p.fmt.array.array[1].source $13 = 0x7fffffffdec6 "1H ),6h===== ,a 12,i4,6h =====)", ... For the second round, one gets: (gdb) p dtp->u.p.fmt.array.array[1].source $14 = 0x7fffffffdec6 ' ' <repeats 26 times>, "=====) \f" Thus, the "source" string is not carried over.