aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>2005-03-16 20:32:08 +0100
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2005-03-16 19:32:08 +0000
commit2786eb77b2d11d62515e4ed1aa36137addf6a172 (patch)
tree00bdd7fc6d53ed5b595fe99920373b15b9c2e3ca
parent9abd1955da0d1717108ee06829f94a57908bcc38 (diff)
downloadgcc-2786eb77b2d11d62515e4ed1aa36137addf6a172.zip
gcc-2786eb77b2d11d62515e4ed1aa36137addf6a172.tar.gz
gcc-2786eb77b2d11d62515e4ed1aa36137addf6a172.tar.bz2
open.c (new_unit): set record length to max_offset rather than using a hard-coded limit (which was...
* 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. From-SVN: r96573
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr20257.f909
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/io/open.c2
4 files changed, 21 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e3e9cec..f6e234e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ PR libfortran/20257
+ * pr20257.f90: New test.
+
+2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
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 0000000..3808829
--- /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 43a2d9d..b18aa05 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,5 +1,11 @@
2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ 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 <coudert@clipper.ens.fr>
+
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 eaeb5a2..3d0e5be 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;