aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2008-10-09 19:28:58 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2008-10-09 19:28:58 +0000
commite81897731e2232b88f735bf8b8ce319d76983b51 (patch)
tree620bf329c4f061adbf111c157f4558d884b93c5e /gcc
parentc0451df7148578f75d0722ca57be15b437d57d90 (diff)
downloadgcc-e81897731e2232b88f735bf8b8ce319d76983b51.zip
gcc-e81897731e2232b88f735bf8b8ce319d76983b51.tar.gz
gcc-e81897731e2232b88f735bf8b8ce319d76983b51.tar.bz2
re PR libfortran/37753 (Convert="BIG_ENDIAN" reverses character)
2008-10-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/37753 * io/transfer.c (unformatted_read): CONVERT_NATIVE is the usual case. Check for kind==1 for non-byte-reversing operation. (unformatted_write): Likewise. 2008-10-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/37753 * gfortran.dg/convert_2.f90: New test case. From-SVN: r141008
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/convert_2.f9020
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2e61e8c..6d931c6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/37753
+ * gfortran.dg/convert_2.f90: New test case.
+
2008-10-09 Daniel Kraft <d@domob.eu>
PR fortran/35723
diff --git a/gcc/testsuite/gfortran.dg/convert_2.f90 b/gcc/testsuite/gfortran.dg/convert_2.f90
new file mode 100644
index 0000000..9f90606
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/convert_2.f90
@@ -0,0 +1,20 @@
+! { dg-do run }
+! Check for correct ordering of character variables with CONVERT
+
+program main
+ implicit none
+ integer, parameter :: two_swap = 2**25
+ integer(kind=4) i,j
+ character(len=2) :: c,d
+ open(20,file="convert.dat",form="unformatted",convert="swap") ! { dg-warning "CONVERT" }
+ write (20) "ab"
+ close (20)
+ open(20,file="convert.dat",form="unformatted",access="stream")
+ read(20) i,c,j
+ if (i .ne. two_swap .or. j .ne. two_swap .or. c .ne. "ab") call abort
+ close (20)
+ open(20,file="convert.dat",form="unformatted",convert="swap") ! { dg-warning "CONVERT" }
+ read (20) d
+ close (20,status="delete")
+ if (d .ne. "ab") call abort
+end program main