http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53707
--- Comment #10 from Rafał Mużyło <galtgendo at o2 dot pl> 2012-06-18 11:13:20 UTC --- Now, for an interesting note: if instead of 'string test(n);' I put 'printf("%d\n", n);', not only the bug *still* happens, but the result if funny: first a '0' gets printed, but after that only '1' does. So, it seems n++ of the loop is done only once.