http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47552
--- Comment #2 from Janne Blomqvist <jb at gcc dot gnu.org> 2011-02-22 15:34:57 UTC --- This seems to be because the libgfortran implementation uses gfc_charlen_type for the length of the string, but the frontend passes the address of an integer(8) variable. As a quick and dirty test, changing the libgfortran implementation to use "long" removes the valgrind errors on x86_64. Though the correct fix is to change the frontend to create a variable of the correct type. If not before, perhaps something to fix when/if we change to use size_t for string lengths, see http://gcc.gnu.org/wiki/LibgfortranAbiCleanup