aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2014-02-21 08:37:06 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2014-02-21 08:37:06 +0100
commit76a4b7ad2d7d071458a4cb4d8515c14b9abf0d19 (patch)
tree641b00450c44790770bc3d2e905d558f2b42ee74 /gcc
parent91d6f071fbbd5bc53d43902bb2259788b121ebfa (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/inquire_16.f9029
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