diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2008-10-09 19:28:58 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2008-10-09 19:28:58 +0000 |
commit | e81897731e2232b88f735bf8b8ce319d76983b51 (patch) | |
tree | 620bf329c4f061adbf111c157f4558d884b93c5e /gcc | |
parent | c0451df7148578f75d0722ca57be15b437d57d90 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/convert_2.f90 | 20 |
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 |