summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-15 18:35:39 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-15 18:35:39 +0000
commit85f987dad30ed43374e293c6d1ae02fca6734392 (patch)
tree6e6e8b8beb5dc2aee64c348240fde8280384a9f1
parentb97f1a181c84feddeb4b17cf2e2f9b0aed6d892d (diff)
downloadppe42-gcc-85f987dad30ed43374e293c6d1ae02fca6734392.tar.gz
ppe42-gcc-85f987dad30ed43374e293c6d1ae02fca6734392.zip
PR fortran/15311
* io/write.c (write_a): right justify A edit output. libgfortran/ * gfortran.fortran-torture/execute/write_a_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81895 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/write_a_1.f9014
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/io/write.c4
4 files changed, 26 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c1a37d6da8f..3f543a2e15a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-05-15 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/15311
+ * gfortran.fortran-torture/execute/write_a_1.f90: New test.
+
2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/13826
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/write_a_1.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/write_a_1.f90
new file mode 100644
index 00000000000..18cb103cbe7
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/write_a_1.f90
@@ -0,0 +1,14 @@
+! pr 15311
+! output with 'A' edit descriptor
+ program write_a_1
+ character*25 s
+! string = format
+ write(s,'(A11)') "hello world"
+ if (s.ne."hello world") call abort
+! string < format
+ write(s,'(A2)') "hello world"
+ if (s.ne."he") call abort
+! string > format
+ write(s,'(A18)') "hello world"
+ if (s.ne." hello world") call abort
+ end
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index bbf22d4d082..2ebef7f2d1b 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2004-05-15 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/15311
+ * io/write.c (write_a): right justify A edit output.
+
2004-05-14 Bud Davis <bdavis9659@comcast.net>
PR fortran/15149
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c
index dd44f6e5f72..05dbd9bb789 100644
--- a/libgfortran/io/write.c
+++ b/libgfortran/io/write.c
@@ -50,8 +50,8 @@ write_a (fnode * f, const char *source, int len)
memcpy (p, source, wlen);
else
{
- memcpy (p, source, len);
- memset (p + len, ' ', wlen - len);
+ memset (p, ' ', wlen - len);
+ memcpy (p + wlen - len, source, len);
}
}
OpenPOWER on IntegriCloud