diff mbox

[fortran,committed] Document behavior of I/O on symbolic links

Message ID 0D82934E-CD79-41FE-9625-B39840C0BC2C@gmail.com
State New
Headers show

Commit Message

FX Coudert Aug. 16, 2015, 12:47 p.m. UTC
Committed attached patch as rev. 226923 to document the behavior of gfortran when opening & closing symbolic links.
Clearing up some of the old libgfortran PRs...

FX
diff mbox

Patch

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 226922)
+++ ChangeLog	(working copy)
@@ -1,3 +1,8 @@ 
+2015-08-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	PR fortran/41387
+	* gfortran.texi: New section "File operations on symbolic links".
+
 2015-08-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
 	PR fortran/67059
Index: gfortran.texi
===================================================================
--- gfortran.texi	(revision 226894)
+++ gfortran.texi	(working copy)
@@ -1140,6 +1140,7 @@  might in some way or another become visi
 * Thread-safety of the runtime library::
 * Data consistency and durability::
 * Files opened without an explicit ACTION= specifier::
+* File operations on symbolic links::
 @end menu
 
 
@@ -1345,6 +1346,33 @@  processor dependent.  GNU Fortran behave
 @end enumerate
 
 
+@node File operations on symbolic links
+@section File operations on symbolic links
+@cindex file, symbolic link
+
+This section documents the behavior of GNU Fortran for file operations on
+symbolic links, on systems that support them. 
+
+@itemize
+
+@item Results of INQUIRE statements of the ``inquire by file'' form will
+relate to the target of the symbolic link. For example,
+@code{INQUIRE(FILE="foo",EXIST=ex)} will set @var{ex} to @var{.true.} if
+@var{foo} is a symbolic link pointing to an existing file, and @var{.false.}
+if @var{foo} points to an non-existing file (``dangling'' symbolic link).
+
+@item Using the @code{OPEN} statement with a @code{STATUS="NEW"} specifier
+on a symbolic link will result in an error condition, whether the symbolic
+link points to an existing target or is dangling.
+
+@item If a symbolic link was connected, using the @code{CLOSE} statement
+with a @code{STATUS="DELETE"} specifier will cause the symbolic link itself
+to be deleted, not its target.
+
+@end itemize
+
+
+
 @c ---------------------------------------------------------------------
 @c Extensions
 @c ---------------------------------------------------------------------