http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50407
--- Comment #2 from Vittorio Zecca <zeccav at gmail dot com> 2011-09-15 20:21:04 UTC --- I believe the code is valid, and it has nothing to do with recursive I/O. If you comment out the write in the mul function gfortran still fails, so it does not depend on recursive I/O. gfortran only fails on 2.ip.8 while it correctly recognizes i.ip.2 and i.ip.j, if you run the code commenting out print 2.ip.8 you get ok 6 ok 12 Oracle Solaris compiler sunf95 correctly compiles and run displaying ok 16 ok 6 ok 12 Remember 2.ip.8 must be a format string in this context.