From: fxcoudert Date: Wed, 16 Mar 2005 19:32:08 +0000 (+0000) Subject: * open.c (new_unit): set record length to max_offset rather than X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=5c40d3bf215793c8af1e4381ad1b536a14e86f27 * open.c (new_unit): set record length to max_offset rather than using a hard-coded limit (which was too low). * write_big_array.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96573 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e3e9cec70b9..f6e234ec2a5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2005-03-16 Francois-Xavier Coudert + PR libfortran/20257 + * pr20257.f90: New test. + +2005-03-16 Francois-Xavier Coudert + PR libfortran/20480 * pr20480.f90: New test. diff --git a/gcc/testsuite/gfortran.dg/pr20257.f90 b/gcc/testsuite/gfortran.dg/pr20257.f90 new file mode 100644 index 00000000000..3808829b486 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr20257.f90 @@ -0,0 +1,9 @@ +! { dg-do run } + integer,parameter :: n = 10000 + real(8) array(10000) + + array(:) = 0 + open (10, status='scratch') + write (10,*) array + close (10) +end diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 43a2d9d39fb..b18aa05fcb1 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,5 +1,11 @@ 2005-03-16 Francois-Xavier Coudert + PR libfortran/20257 + * open.c (new_unit): set record length to max_offset rather than + using a hard-coded limit (which was too low). + +2005-03-16 Francois-Xavier Coudert + PR libfortran/20480 * write.c (output_float): special check when writing 0.0 with EN and ES formats. diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c index eaeb5a298c0..3d0e5bebe7a 100644 --- a/libgfortran/io/open.c +++ b/libgfortran/io/open.c @@ -358,7 +358,7 @@ new_unit (unit_flags * flags) /* Unspecified recl ends up with a processor dependent value. */ - u->recl = (ioparm.recl_in != 0) ? ioparm.recl_in : DEFAULT_RECL; + u->recl = (ioparm.recl_in != 0) ? ioparm.recl_in : g.max_offset; u->last_record = 0; u->current_record = 0;