http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56149
--- Comment #7 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2013-02-01 05:21:58 UTC --- On Thu, Jan 31, 2013 at 04:29:46PM +0000, paul.laidler at ntlworld dot com wrote: > --- Comment #6 from Paul Laidler <paul.laidler at ntlworld dot com> > 2013-01-31 16:29:46 UTC --- > Yes, winio is written in C with the binding "int winio(char *string, ...)" > and it is not Fortran standard conforming. > > In my opinion there should be no problem with backwards compatibility but I > am thinking of a Windows environment and have no inside knowledge of how > the C code produced by gFortran is passed on to gcc. > Contrary to your opinion, the simply change of simply setting Index: trans-types.c =================================================================== --- trans-types.c (revision 195396) +++ trans-types.c (working copy) @@ -968,7 +968,7 @@ gfc_init_types (void) boolean_false_node = build_int_cst (boolean_type_node, 0); /* ??? Shouldn't this be based on gfc_index_integer_kind or so? */ - gfc_charlen_int_kind = 4; + gfc_charlen_int_kind = 8; gfc_charlen_type_node = gfc_get_int_type (gfc_charlen_int_kind); } which gives a 64-bit integer for the hidden length parameter yields === gfortran Summary === # of expected passes 17592 # of unexpected failures 2743 # of unexpected successes 18 # of expected failures 40 # of unresolved testcases 56 # of unsupported tests 119 /usr/home/kargl/gcc/obj4x/gcc/testsuite/gfortran/../../gfortran version 4.8.0 20130123 (experimental) (GCC) and I stopped the regression test it was taking way too long to time out failing test cases. Quitely frankly, I can't image anyone will ever need a Fortran string with a length of 2**31.