I suggest that you test the following patch and report back to us:
I got the patch wrong (it's not a real printf function we have there): Index: libgfortran/runtime/error.c =================================================================== --- libgfortran/runtime/error.c (revision 118806) +++ libgfortran/runtime/error.c (working copy) @@ -285,7 +285,7 @@ if (!options.locus || cmp == NULL || cmp->filename == NULL) return; - st_printf ("At line %d of file %s\n", cmp->line, cmp->filename); + st_printf ("At line %d of file %s\n", (int) cmp->line, cmp->filename); }