-2006-11-07 Paul Thomas <pault@gcc.gnu.org>
+2006-11-08 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi: Add volatile and internal-file
+ namelist to Fortran 2003 status.
+ * intrinsic.texi: Correct CHMOD entry.
+
+2006-11-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29539
PR fortran/29634
The @code{OPEN} statement supports the @code{ACCESS='STREAM'} specifier,
allowing I/O without any record structure.
+@item
+Namelist input/output for internal files.
+
+@item
+@cindex @code{VOLATILE}
+The @code{VOLATILE} statement and attribute.
@end itemize
@item @emph{Description}:
@code{CHMOD} changes the permissions of a file. This function invokes
@code{/bin/chmod} and might therefore not work on all platforms.
-@code{CHMOD} as an intrinsic function is not implemented in GNU Fortran.
+
+This intrinsic is provided in both subroutine and function forms; however,
+only one form can be used in any given program unit.
@item @emph{Standard}:
GNU extension
@item @emph{Class}:
-Subroutine
+Subroutine, non-elemental function
@item @emph{Syntax}:
-@code{CHMOD(NAME, MODE[, STATUS])}
+@multitable @columnfractions .80
+@item @code{CALL CHMOD(NAME, MODE[, STATUS])}
+@item @code{STATUS = CHMOD(NAME, MODE)}
+@end multitable
@item @emph{Arguments}:
@multitable @columnfractions .15 .80
@code{0} on success and non-zero otherwise.
@end multitable
+@item @emph{Return value}:
+In either syntax, @var{STATUS} is set to @code{0} on success and non-zero
+otherwise.
+
@item @emph{Example}:
+@code{CHMOD} as subroutine
@smallexample
program chmod_test
implicit none
print *, 'Status: ', status
end program chmod_test
@end smallexample
+@code{CHMOD} as non-elemental function:
+@smallexample
+program chmod_test
+ implicit none
+ integer :: status
+ status = chmod('test.dat','u+x')
+ print *, 'Status: ', status
+end program chmod_test
+@end smallexample
@item @emph{Specific names}:
@item @emph{See also}: