Commit 6685e806 by Janus Weil

intrinsic.texi: Add documentation for SAME_TYPE_AS...

2010-07-09  Janus Weil  <janus@gcc.gnu.org>

	* intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
	STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
	SIZEOF and C_SIZEOF.

From-SVN: r162006
parent 38a178dd
2010-07-09 Janus Weil <janus@gcc.gnu.org>
* intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
SIZEOF and C_SIZEOF.
2010-07-08 Janus Weil <janus@gcc.gnu.org> 2010-07-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/44649 PR fortran/44649
......
...@@ -107,6 +107,7 @@ Some basic guidelines for editing this document: ...@@ -107,6 +107,7 @@ Some basic guidelines for editing this document:
* @code{EXIT}: EXIT, Exit the program with status. * @code{EXIT}: EXIT, Exit the program with status.
* @code{EXP}: EXP, Exponential function * @code{EXP}: EXP, Exponential function
* @code{EXPONENT}: EXPONENT, Exponent function * @code{EXPONENT}: EXPONENT, Exponent function
* @code{EXTENDS_TYPE_OF}: EXTENDS_TYPE_OF, Query dynamic type for extension
* @code{FDATE}: FDATE, Subroutine (or function) to get the current time as a string * @code{FDATE}: FDATE, Subroutine (or function) to get the current time as a string
* @code{FGET}: FGET, Read a single character in stream mode from stdin * @code{FGET}: FGET, Read a single character in stream mode from stdin
* @code{FGETC}: FGETC, Read a single character in stream mode * @code{FGETC}: FGETC, Read a single character in stream mode
...@@ -223,6 +224,7 @@ Some basic guidelines for editing this document: ...@@ -223,6 +224,7 @@ Some basic guidelines for editing this document:
* @code{RESHAPE}: RESHAPE, Function to reshape an array * @code{RESHAPE}: RESHAPE, Function to reshape an array
* @code{RRSPACING}: RRSPACING, Reciprocal of the relative spacing * @code{RRSPACING}: RRSPACING, Reciprocal of the relative spacing
* @code{RSHIFT}: RSHIFT, Right shift bits * @code{RSHIFT}: RSHIFT, Right shift bits
* @code{SAME_TYPE_AS}: SAME_TYPE_AS, Query dynamic types for equality
* @code{SCALE}: SCALE, Scale a real value * @code{SCALE}: SCALE, Scale a real value
* @code{SCAN}: SCAN, Scan a string for the presence of a set of characters * @code{SCAN}: SCAN, Scan a string for the presence of a set of characters
* @code{SECNDS}: SECNDS, Time function * @code{SECNDS}: SECNDS, Time function
...@@ -244,6 +246,7 @@ Some basic guidelines for editing this document: ...@@ -244,6 +246,7 @@ Some basic guidelines for editing this document:
* @code{SQRT}: SQRT, Square-root function * @code{SQRT}: SQRT, Square-root function
* @code{SRAND}: SRAND, Reinitialize the random number generator * @code{SRAND}: SRAND, Reinitialize the random number generator
* @code{STAT}: STAT, Get file status * @code{STAT}: STAT, Get file status
* @code{STORAGE_SIZE}: STORAGE_SIZE, Storage size in bits
* @code{SUM}: SUM, Sum of array elements * @code{SUM}: SUM, Sum of array elements
* @code{SYMLNK}: SYMLNK, Create a symbolic link * @code{SYMLNK}: SYMLNK, Create a symbolic link
* @code{SYSTEM}: SYSTEM, Execute a shell command * @code{SYSTEM}: SYSTEM, Execute a shell command
...@@ -2187,7 +2190,7 @@ Intrinsic function ...@@ -2187,7 +2190,7 @@ Intrinsic function
@item @emph{Arguments}: @item @emph{Arguments}:
@multitable @columnfractions .15 .70 @multitable @columnfractions .15 .70
@item @var{X} @tab The argument shall be of any type, rank or shape. @item @var{X} @tab The argument shall be an interoperable data entity.
@end multitable @end multitable
@item @emph{Return value}: @item @emph{Return value}:
...@@ -2211,7 +2214,7 @@ The example will print @code{.TRUE.} unless you are using a platform ...@@ -2211,7 +2214,7 @@ The example will print @code{.TRUE.} unless you are using a platform
where default @code{REAL} variables are unusually padded. where default @code{REAL} variables are unusually padded.
@item @emph{See also}: @item @emph{See also}:
@ref{SIZEOF} @ref{SIZEOF}, @ref{STORAGE_SIZE}
@end table @end table
...@@ -3927,6 +3930,42 @@ end program test_exponent ...@@ -3927,6 +3930,42 @@ end program test_exponent
@node EXTENDS_TYPE_OF
@section @code{EXTENDS_TYPE_OF} --- Query dynamic type for extension
@fnindex EXTENDS_TYPE_OF
@table @asis
@item @emph{Description}:
Query dynamic type for extension.
@item @emph{Standard}:
Fortran 2003 and later
@item @emph{Class}:
Inquiry function
@item @emph{Syntax}:
@code{RESULT = EXTENDS_TYPE_OF(A, MOLD)}
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be an object of extensible declared type or
unlimited polymorphic.
@item @var{MOLD} @tab Shall be an object of extensible declared type or
unlimited polymorphic.
@end multitable
@item @emph{Return value}:
The return value is a scalar of type default logical. It is true if and only if
the dynamic type of A is an extension type of the dynamic type of MOLD.
@item @emph{See also}:
@ref{SAME_TYPE_AS}
@end table
@node FDATE @node FDATE
@section @code{FDATE} --- Get the current time as a string @section @code{FDATE} --- Get the current time as a string
@fnindex FDATE @fnindex FDATE
...@@ -9405,6 +9444,42 @@ The return value is of type @code{INTEGER} and of the same kind as ...@@ -9405,6 +9444,42 @@ The return value is of type @code{INTEGER} and of the same kind as
@node SAME_TYPE_AS
@section @code{SAME_TYPE_AS} --- Query dynamic types for equality
@fnindex SAME_TYPE_AS
@table @asis
@item @emph{Description}:
Query dynamic types for equality.
@item @emph{Standard}:
Fortran 2003 and later
@item @emph{Class}:
Inquiry function
@item @emph{Syntax}:
@code{RESULT = SAME_TYPE_AS(A, B)}
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be an object of extensible declared type or
unlimited polymorphic.
@item @var{B} @tab Shall be an object of extensible declared type or
unlimited polymorphic.
@end multitable
@item @emph{Return value}:
The return value is a scalar of type default logical. It is true if and
only if the dynamic type of A is the same as the dynamic type of B.
@item @emph{See also}:
@ref{EXTENDS_TYPE_OF}
@end table
@node SCALE @node SCALE
@section @code{SCALE} --- Scale a real value @section @code{SCALE} --- Scale a real value
@fnindex SCALE @fnindex SCALE
...@@ -10146,7 +10221,8 @@ number of bytes occupied by the argument. If the argument has the ...@@ -10146,7 +10221,8 @@ number of bytes occupied by the argument. If the argument has the
@code{POINTER} attribute, the number of bytes of the storage area pointed @code{POINTER} attribute, the number of bytes of the storage area pointed
to is returned. If the argument is of a derived type with @code{POINTER} to is returned. If the argument is of a derived type with @code{POINTER}
or @code{ALLOCATABLE} components, the return value doesn't account for or @code{ALLOCATABLE} components, the return value doesn't account for
the sizes of the data pointed to by these components. the sizes of the data pointed to by these components. If the argument is
polymorphic, the size according to the declared type is returned.
@item @emph{Example}: @item @emph{Example}:
@smallexample @smallexample
...@@ -10159,7 +10235,7 @@ The example will print @code{.TRUE.} unless you are using a platform ...@@ -10159,7 +10235,7 @@ The example will print @code{.TRUE.} unless you are using a platform
where default @code{REAL} variables are unusually padded. where default @code{REAL} variables are unusually padded.
@item @emph{See also}: @item @emph{See also}:
@ref{C_SIZEOF} @ref{C_SIZEOF}, @ref{STORAGE_SIZE}
@end table @end table
...@@ -10478,6 +10554,37 @@ To stat an open file: @ref{FSTAT}, to stat a link: @ref{LSTAT} ...@@ -10478,6 +10554,37 @@ To stat an open file: @ref{FSTAT}, to stat a link: @ref{LSTAT}
@node STORAGE_SIZE
@section @code{STORAGE_SIZE} --- Storage size in bits
@fnindex STORAGE_SIZE
@cindex storage size
@table @asis
@item @emph{Description}:
Returns the storage size of argument @var{A} in bits.
@item @emph{Standard}:
Fortran 2008 and later
@item @emph{Class}:
Inquiry function
@item @emph{Syntax}:
@code{RESULT = STORAGE_SIZE(A [, KIND])}
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be a scalar or array of any type.
@item @var{KIND} @tab (Optional) shall be a scalar integer constant expression.
@end multitable
@item @emph{Return Value}:
The result is a scalar integer with the kind type parameter specied by KIND (or default integer type if KIND is missing). The result value is the size expressed in bits for an element of an array that
has the dynamic type and type parameters of A.
@item @emph{See also}:
@ref{C_SIZEOF}, @ref{SIZEOF}
@end table
@node SUM @node SUM
@section @code{SUM} --- Sum of array elements @section @code{SUM} --- Sum of array elements
@fnindex SUM @fnindex SUM
...@@ -10519,7 +10626,7 @@ The result is of the same type as @var{ARRAY}. ...@@ -10519,7 +10626,7 @@ The result is of the same type as @var{ARRAY}.
If @var{DIM} is absent, a scalar with the sum of all elements in @var{ARRAY} If @var{DIM} is absent, a scalar with the sum of all elements in @var{ARRAY}
is returned. Otherwise, an array of rank n-1, where n equals the rank of is returned. Otherwise, an array of rank n-1, where n equals the rank of
@var{ARRAY},and a shape similar to that of @var{ARRAY} with dimension @var{DIM} @var{ARRAY}, and a shape similar to that of @var{ARRAY} with dimension @var{DIM}
dropped is returned. dropped is returned.
@item @emph{Example}: @item @emph{Example}:
...@@ -10648,7 +10755,6 @@ Subroutine ...@@ -10648,7 +10755,6 @@ Subroutine
@code{CALL SYSTEM_CLOCK([COUNT, COUNT_RATE, COUNT_MAX])} @code{CALL SYSTEM_CLOCK([COUNT, COUNT_RATE, COUNT_MAX])}
@item @emph{Arguments}: @item @emph{Arguments}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70 @multitable @columnfractions .15 .70
@item @var{COUNT} @tab (Optional) shall be a scalar of type default @item @var{COUNT} @tab (Optional) shall be a scalar of type default
@code{INTEGER} with @code{INTENT(OUT)}. @code{INTEGER} with @code{INTENT(OUT)}.
...@@ -11658,6 +11764,16 @@ are defined. ...@@ -11658,6 +11764,16 @@ are defined.
@item @code{C_VERTICAL_TAB} @tab vertical tab @tab @code{'\v'} @item @code{C_VERTICAL_TAB} @tab vertical tab @tab @code{'\v'}
@end multitable @end multitable
Moreover, the following two named constants are defined:
@multitable @columnfractions .20 .80
@item Name @tab Type
@item @code{C_NULL_PTR} @tab @code{C_PTR}
@item @code{C_NULL_FUNPTR} @tab @code{C_FUNPTR}
@end multitable
Both are equivalent to the value @code{NULL} in C.
@node OpenMP Modules OMP_LIB and OMP_LIB_KINDS @node OpenMP Modules OMP_LIB and OMP_LIB_KINDS
@section OpenMP Modules @code{OMP_LIB} and @code{OMP_LIB_KINDS} @section OpenMP Modules @code{OMP_LIB} and @code{OMP_LIB_KINDS}
@table @asis @table @asis
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment