diff options
author | Tobias Burnus <burnus@net-b.de> | 2014-02-21 08:37:06 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2014-02-21 08:37:06 +0100 |
commit | 76a4b7ad2d7d071458a4cb4d8515c14b9abf0d19 (patch) | |
tree | 641b00450c44790770bc3d2e905d558f2b42ee74 /gcc | |
parent | 91d6f071fbbd5bc53d43902bb2259788b121ebfa (diff) | |
download | gcc-76a4b7ad2d7d071458a4cb4d8515c14b9abf0d19.zip gcc-76a4b7ad2d7d071458a4cb4d8515c14b9abf0d19.tar.gz gcc-76a4b7ad2d7d071458a4cb4d8515c14b9abf0d19.tar.bz2 |
re PR fortran/60286 (INQUIRE reports STDOUT as not writable)
2014-02-21 Tobias Burnus <burnus@net-b.de>
PR fortran/60286
* libgfortran/io/inquire.c (yes, no): New static const char
* vars.
(inquire_via_unit): Use them. Use OPEN mode instead of using
POSIX's access to query about write=, read= and readwrite=.
2014-02-21 Tobias Burnus <burnus@net-b.de>
PR fortran/60286
* gfortran.dg/inquire_16.f90: New.
From-SVN: r207979
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/inquire_16.f90 | 29 |
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 84e1ba3..ec294e7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-02-21 Tobias Burnus <burnus@net-b.de> + + PR fortran/60286 + * gfortran.dg/inquire_16.f90: New. + 2014-02-20 Sandra Loosemore <sandra@codesourcery.com> * gcc.target/nios2/biggot-1.c: New. diff --git a/gcc/testsuite/gfortran.dg/inquire_16.f90 b/gcc/testsuite/gfortran.dg/inquire_16.f90 new file mode 100644 index 0000000..b52e23d --- /dev/null +++ b/gcc/testsuite/gfortran.dg/inquire_16.f90 @@ -0,0 +1,29 @@ +! { dg-do run } +! +! PR fortran/60286 +! +! Contributed by Alexander Vogt +! +program test_inquire + use, intrinsic :: ISO_Fortran_env + implicit none + character(len=20) :: s_read, s_write, s_readwrite + + inquire(unit=input_unit, read=s_read, write=s_write, & + readwrite=s_readwrite) + if (s_read /= "YES" .or. s_write /= "NO" .or. s_readwrite /="NO") then + call abort() + endif + + inquire(unit=output_unit, read=s_read, write=s_write, & + readwrite=s_readwrite) + if (s_read /= "NO" .or. s_write /= "YES" .or. s_readwrite /="NO") then + call abort() + endif + + inquire(unit=error_unit, read=s_read, write=s_write, & + readwrite=s_readwrite) + if (s_read /= "NO" .or. s_write /= "YES" .or. s_readwrite /="NO") then + call abort() + endif +end program test_inquire |