re PR libfortran/18982 (open(status="new") does not generate an error if the file...
authorThomas Koenig <Thomas.Koenig@online.de>
Sat, 22 Jan 2005 19:49:18 +0000 (19:49 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Sat, 22 Jan 2005 19:49:18 +0000 (19:49 +0000)
commitd02b2c6474afab3e4d5748eca254bcf9aa12fa18
treefda79f894c069363a2ace1fa2cd36b81203001de
parentd7c71ee3e6bd95291f0f33a7fdd7de00980ce3fd
re PR libfortran/18982 (open(status="new") does not generate an error if the file exists)

2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>

PR libfortran/18982
* io/unix.c (regular_file):  No need to change flags->action
if an error occurs.  Document this.
No need to call stat() for STATUS_OLD, open() will
fail anyway.
For ACTION_UNSPECIFIED, try open for read-write, then for
read-only if open fails with EACCES, then for write-only
if that fails with EACCES again.
* io/unix.c (open_external): Document changed behavior of
regular_file.
testsuite/
* gfortran.dg/open_new.f90: New file.

From-SVN: r94076
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/open_new.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/io/unix.c