summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gfortran.dg/large_real_kind_form_io_1.f902
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/io/write.c4
4 files changed, 12 insertions, 3 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 87212ee1ff8..592c509d717 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2008-01-18 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/large_real_kind_form_io_1.f90: Enlarge string for internal I/O.
+
2008-01-18 Jonathan Wakely <jwakely.gcc@gmail.com>
* gcc/testsuite/g++.dg/lookup/two-stage2.C: fix comment.
diff --git a/gcc/testsuite/gfortran.dg/large_real_kind_form_io_1.f90 b/gcc/testsuite/gfortran.dg/large_real_kind_form_io_1.f90
index c6fb76b7d10..3e49dc19282 100644
--- a/gcc/testsuite/gfortran.dg/large_real_kind_form_io_1.f90
+++ b/gcc/testsuite/gfortran.dg/large_real_kind_form_io_1.f90
@@ -6,7 +6,7 @@ program large_real_kind_form_io_1
integer, parameter :: k = selected_real_kind (precision (0.0_8) + 1)
real(kind=k) :: a,b(2), c, eps
complex(kind=k) :: d, e, f(2), g
- character(len=180) :: tmp
+ character(len=200) :: tmp
! Test real(k) scalar and array formatted IO
eps = 10 * spacing (2.0_k) ! 10 ulp precision is enough.
b(:) = 2.0_k
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 11b798f9b73..3a81decfc8e 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-18 Tobias Burnus <burnus@net-b.de>
+
+ * io/write.c (write_real): Increase default precision
+ for REAL(16) by one.
+
2008-01-16 Steven Bosscher <steven@gcc.gnu.org>
PR libfortran/34669
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c
index 84b695fa883..d1a3d7ad828 100644
--- a/libgfortran/io/write.c
+++ b/libgfortran/io/write.c
@@ -713,8 +713,8 @@ write_real (st_parameter_dt *dtp, const char *source, int length)
f.u.real.e = 4;
break;
case 16:
- f.u.real.w = 43;
- f.u.real.d = 34;
+ f.u.real.w = 44;
+ f.u.real.d = 35;
f.u.real.e = 4;
break;
default: