http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52062
--- Comment #2 from kargl at gcc dot gnu.org 2012-01-31 06:16:17 UTC --- On 4.7.0, I get laptop:kargl[203] gfc4x -o z foo.f90 laptop:kargl[204] ./z "rhubarb" is character kind = 1 len = 7 666.0 is real kind = 4 I get the same results with various combinations of options. On 4.6.3, I see troutmask:sgk[208] gfc46 -o z -O foo.f90 foo.f90: In function 'testpublic': foo.f90:31:0: internal compiler error: in transfer_expr, at fortran/trans-io.c:2166 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. On 4.5.4, I get the expected result. So, this appears to be a bug in the 4.6 branch, that has been fixed in trunk. I currently do not know if this was fixed as a side-effect of another bug fix or specifically addressed by a patch in trunk. I'll need to bug hunt.