Index: gcc/gcc/fortran/gfortran.info |
diff --git a/gcc/gcc/fortran/gfortran.info b/gcc/gcc/fortran/gfortran.info |
index 7044181e6b5c33282d740c79da5a77d80640c82f..ce0653b69d2eb2eee201873663e0755ab05e31f7 100644 |
--- a/gcc/gcc/fortran/gfortran.info |
+++ b/gcc/gcc/fortran/gfortran.info |
@@ -1,7 +1,8 @@ |
-This is doc/gfortran.info, produced by makeinfo version 4.13 from |
-/d/gcc-4.4.3/gcc-4.4.3/gcc/fortran/gfortran.texi. |
+This is doc/gfortran.info, produced by makeinfo version 4.12 from |
+/space/rguenther/gcc-4.5.1/gcc-4.5.1/gcc/fortran/gfortran.texi. |
-Copyright (C) 1999-2008 Free Software Foundation, Inc. |
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
+2008, 2009, 2010 Free Software Foundation, Inc. |
Permission is granted to copy, distribute and/or modify this document |
under the terms of the GNU Free Documentation License, Version 1.2 or |
@@ -31,7 +32,8 @@ compiler, (`gfortran'). |
Published by the Free Software Foundation 51 Franklin Street, Fifth |
Floor Boston, MA 02110-1301 USA |
- Copyright (C) 1999-2008 Free Software Foundation, Inc. |
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
+2008, 2009, 2010 Free Software Foundation, Inc. |
Permission is granted to copy, distribute and/or modify this document |
under the terms of the GNU Free Documentation License, Version 1.2 or |
@@ -71,7 +73,8 @@ Part I: Invoking GNU Fortran |
Part II: Language Reference |
* Fortran 2003 and 2008 status:: Fortran 2003 and 2008 features supported by GNU Fortran. |
-* Compiler Characteristics:: KIND type parameters supported. |
+* Compiler Characteristics:: User-visible implementation details. |
+* Mixed-Language Programming:: Interoperability with C |
* Extensions:: Language extensions implemented by GNU Fortran. |
* Intrinsic Procedures:: Intrinsic procedures supported by GNU Fortran. |
* Intrinsic Modules:: Intrinsic modules supported by GNU Fortran. |
@@ -110,12 +113,10 @@ File: gfortran.info, Node: About GNU Fortran, Next: GNU Fortran and GCC, Up: |
1.1 About GNU Fortran |
===================== |
-The GNU Fortran compiler is still in an early state of development. It |
-can generate code for most constructs and expressions, but much work |
-remains to be done. |
- |
- When the GNU Fortran compiler is finished, it will do everything you |
-expect from any decent compiler: |
+The GNU Fortran compiler supports the Fortran 77, 90 and 95 standards |
+completely, parts of the Fortran 2003 and Fortran 2008 standards, and |
+several vendor extensions. The development goal is to provide the |
+following features: |
* Read a user's program, stored in a file and containing |
instructions written in Fortran 77, Fortran 90, Fortran 95, |
@@ -321,7 +322,8 @@ a few minor known regressions. |
categories: bug fixing (primarily regarding the treatment of invalid |
code and providing useful error messages), improving the compiler |
optimizations and the performance of compiled code, and extending the |
-compiler to support future standards--in particular, Fortran 2003. |
+compiler to support future standards--in particular, Fortran 2003 and |
+Fortran 2008. |
File: gfortran.info, Node: Standards, Prev: Project Status, Up: Introduction |
@@ -329,9 +331,13 @@ File: gfortran.info, Node: Standards, Prev: Project Status, Up: Introduction |
1.6 Standards |
============= |
-The GNU Fortran compiler implements ISO/IEC 1539:1997 (Fortran 95). As |
-such, it can also compile essentially all standard-compliant Fortran 90 |
-and Fortran 77 programs. It also supports the ISO/IEC TR-15581 |
+* Menu: |
+ |
+* Varying Length Character Strings:: |
+ |
+ The GNU Fortran compiler implements ISO/IEC 1539:1997 (Fortran 95). |
+As such, it can also compile essentially all standard-compliant Fortran |
+90 and Fortran 77 programs. It also supports the ISO/IEC TR-15581 |
enhancements to allocatable arrays, and the OpenMP Application Program |
Interface v2.5 (http://www.openmp.org/drupal/mp-documents/spec25.pdf) |
specification. |
@@ -342,13 +348,30 @@ of that standard is already provided; the current status of Fortran 2003 |
support is reported in the *note Fortran 2003 status:: section of the |
documentation. |
- The next version of the Fortran standard after Fortran 2003 is |
-currently being developed and the GNU Fortran compiler supports some of |
-its new features. This support is based on the latest draft of the |
-standard (available from `http://www.nag.co.uk/sc22wg5/') and no |
-guarantee of future compatibility is made, as the final standard might |
-differ from the draft. For more information, see the *note Fortran 2008 |
-status:: section. |
+ The next version of the Fortran standard (Fortran 2008) is currently |
+being developed and the GNU Fortran compiler supports some of its new |
+features. This support is based on the latest draft of the standard |
+(available from `http://www.nag.co.uk/sc22wg5/') and no guarantee of |
+future compatibility is made, as the final standard might differ from |
+the draft. For more information, see the *note Fortran 2008 status:: |
+section. |
+ |
+ Additionally, the GNU Fortran compilers supports the OpenMP |
+specification (version 3.0, |
+`http://openmp.org/wp/openmp-specifications/'). |
+ |
+ |
+File: gfortran.info, Node: Varying Length Character Strings, Up: Standards |
+ |
+1.6.1 Varying Length Character Strings |
+-------------------------------------- |
+ |
+The Fortran 95 standard specifies in Part 2 (ISO/IEC 1539-2:2000) |
+varying length character strings. While GNU Fortran currently does not |
+support such strings directly, there exist two Fortran implementations |
+for them, which work with GNU Fortran. They can be found at |
+`http://www.fortran.com/iso_varying_string.f95' and at |
+`ftp://ftp.nag.co.uk/sc22wg5/ISO_VARYING_STRING/'. |
File: gfortran.info, Node: Invoking GNU Fortran, Next: Runtime, Prev: Introduction, Up: Top |
@@ -421,9 +444,9 @@ _Error and Warning Options_ |
-fmax-errors=N |
-fsyntax-only -pedantic -pedantic-errors |
-Wall -Waliasing -Wampersand -Warray-bounds -Wcharacter-truncation |
- -Wconversion -Wimplicit-interface -Wline-truncation -Wintrinsics-std |
- -Wsurprising -Wno-tabs -Wunderflow -Wunused-parameter -Wintrinsics-shadow |
- -Wno-align-commons |
+ -Wconversion -Wimplicit-interface -Wimplicit-procedure -Wline-truncation |
+ -Wintrinsics-std -Wsurprising -Wno-tabs -Wunderflow -Wunused-parameter |
+ -Wintrinsics-shadow -Wno-align-commons |
_Debugging Options_ |
*Note Options for debugging your program or GNU Fortran: Debugging |
@@ -449,13 +472,15 @@ _Runtime Options_ |
_Code Generation Options_ |
*Note Options for code generation conventions: Code Gen Options. |
-fno-automatic -ff2c -fno-underscoring |
- -fsecond-underscore |
+ -fwhole-file -fsecond-underscore |
-fbounds-check -fcheck-array-temporaries -fmax-array-constructor =N |
+ -fcheck=<ALL|ARRAY-TEMPS|BOUNDS|DO|MEM|POINTER|RECURSION> |
-fmax-stack-var-size=N |
-fpack-derived -frepack-arrays -fshort-enums -fexternal-blas |
-fblas-matmul-limit=N -frecursive -finit-local-zero |
- -finit-integer=N -finit-real=<ZERO|INF|-INF|NAN> |
- -finit-logical=<TRUE|FALSE> -finit-character=N -fno-align-commons |
+ -finit-integer=N -finit-real=<ZERO|INF|-INF|NAN|SNAN> |
+ -finit-logical=<TRUE|FALSE> -finit-character=N |
+ -fno-align-commons -fno-protect-parens |
* Menu: |
@@ -527,7 +552,10 @@ accepted by the compiler: |
`-fdefault-double-8' is given, too. |
`-fdollar-ok' |
- Allow `$' as a valid character in a symbol name. |
+ Allow `$' as a valid non-first character in a symbol name. Symbols |
+ that start with `$' are rejected since it is unclear which rules to |
+ apply to implicit typing as different vendors implement different |
+ rules. Using `$' in `IMPLICIT' statements is also rejected. |
`-fbackslash' |
Change the interpretation of backslashes in string literals from a |
@@ -917,11 +945,15 @@ produced by GNU Fortran: |
not check that the declared interfaces are consistent across |
program units. |
+`-Wimplicit-procedure' |
+ Warn if a procedure is called that has neither an explicit |
+ interface nor has been declared as `EXTERNAL'. |
+ |
`-Wintrinsics-std' |
Warn if `gfortran' finds a procedure named like an intrinsic not |
available in the currently selected standard (with `-std') and |
treats it as `EXTERNAL' procedure because of this. |
- `-fall-intrinsics' can be used to never trigger this behaviour and |
+ `-fall-intrinsics' can be used to never trigger this behavior and |
always link to the intrinsic regardless of the selected standard. |
`-Wsurprising' |
@@ -944,6 +976,8 @@ produced by GNU Fortran: |
the same type. If `-pedantic' or standard-conforming mode is |
enabled, this is an error. |
+ * A `CHARACTER' variable is declared with negative length. |
+ |
`-Wtabs' |
By default, tabs are accepted as whitespace, but tabs are not |
members of the Fortran Character Set. For continuation lines, a |
@@ -1132,10 +1166,12 @@ Fortran. |
really useful for use by the gfortran testsuite. |
`-fsign-zero' |
- When writing zero values, show the negative sign if the sign bit |
- is set. `fno-sign-zero' does not print the negative sign of zero |
- values for compatibility with F77. Default behavior is to show |
- the negative sign. |
+ When enabled, floating point numbers of value zero with the sign |
+ bit set are written as negative number in formatted output and |
+ treated as negative in the `SIGN' intrinsic. `fno-sign-zero' does |
+ not print the negative sign of zero values and regards zero as |
+ positive number in the `SIGN' intrinsic for compatibility with F77. |
+ Default behavior is to show the negative sign. |
File: gfortran.info, Node: Code Gen Options, Next: Environment Variables, Prev: Runtime Options, Up: Invoking GNU Fortran |
@@ -1249,6 +1285,19 @@ the other form by either removing `no-' or adding it. |
linker are mangled to prevent accidental linking between |
procedures with incompatible interfaces. |
+`-fwhole-file' |
+ By default, GNU Fortran parses, resolves and translates each |
+ procedure in a file separately. Using this option modifies this |
+ such that the whole file is parsed and placed in a single |
+ front-end tree. During resolution, in addition to all the usual |
+ checks and fixups, references to external procedures that are in |
+ the same file effect resolution of that procedure, if not already |
+ done, and a check of the interfaces. The dependences are resolved |
+ by changing the order in which the file is translated into the |
+ backend tree. Thus, a procedure that is referenced is translated |
+ before the reference and the duplication of backend tree |
+ declarations eliminated. |
+ |
`-fsecond-underscore' |
By default, GNU Fortran appends an underscore to external names. |
If this option is used GNU Fortran appends two underscores to |
@@ -1266,27 +1315,60 @@ the other form by either removing `no-' or adding it. |
compatibility with `g77' and `f2c', and is implied by use of the |
`-ff2c' option. |
-`-fbounds-check' |
- Enable generation of run-time checks for array subscripts and |
- against the declared minimum and maximum values. It also checks |
- array indices for assumed and deferred shape arrays against the |
- actual allocated bounds and ensures that all string lengths are |
- equal for character array constructors without an explicit |
- typespec. |
+`-fcheck=<KEYWORD>' |
+ Enable the generation of run-time checks; the argument shall be a |
+ comma-delimited list of the following keywords. |
+ |
+ `all' |
+ Enable all run-time test of `-fcheck'. |
+ |
+ `array-temps' |
+ Warns at run time when for passing an actual argument a |
+ temporary array had to be generated. The information |
+ generated by this warning is sometimes useful in |
+ optimization, in order to avoid such temporaries. |
+ |
+ Note: The warning is only printed once per location. |
- Some checks require that `-fbounds-check' is set for the |
- compilation of the main program. |
+ `bounds' |
+ Enable generation of run-time checks for array subscripts and |
+ against the declared minimum and maximum values. It also |
+ checks array indices for assumed and deferred shape arrays |
+ against the actual allocated bounds and ensures that all |
+ string lengths are equal for character array constructors |
+ without an explicit typespec. |
- Note: In the future this may also include other forms of checking, |
- e.g., checking substring references. |
+ Some checks require that `-fcheck=bounds' is set for the |
+ compilation of the main program. |
-`fcheck-array-temporaries' |
- Warns at run time when for passing an actual argument a temporary |
- array had to be generated. The information generated by this |
- warning is sometimes useful in optimization, in order to avoid |
- such temporaries. |
+ Note: In the future this may also include other forms of |
+ checking, e.g., checking substring references. |
- Note: The warning is only printed once per location. |
+ `do' |
+ Enable generation of run-time checks for invalid modification |
+ of loop iteration variables. |
+ |
+ `mem' |
+ Enable generation of run-time checks for memory allocation. |
+ Note: This option does not affect explicit allocations using |
+ the `ALLOCATE' statement, which will be always checked. |
+ |
+ `pointer' |
+ Enable generation of run-time checks for pointers and |
+ allocatables. |
+ |
+ `recursion' |
+ Enable generation of run-time checks for recursively called |
+ subroutines and functions which are not marked as recursive. |
+ See also `-frecursive'. Note: This check does not work for |
+ OpenMP programs and is disabled if used together with |
+ `-frecursive' and `-fopenmp'. |
+ |
+`-fbounds-check' |
+ Deprecated alias for `-fcheck=bounds'. |
+ |
+`-fcheck-array-temporaries' |
+ Deprecated alias for `-fcheck=array-temps'. |
`-fmax-array-constructor=N' |
This option can be used to increase the upper limit permitted in |
@@ -1370,7 +1452,7 @@ the other form by either removing `no-' or adding it. |
`-finit-integer=N' |
-`-finit-real=<ZERO|INF|-INF|NAN>' |
+`-finit-real=<ZERO|INF|-INF|NAN|SNAN>' |
`-finit-logical=<TRUE|FALSE>' |
@@ -1380,8 +1462,8 @@ the other form by either removing `no-' or adding it. |
zero, `LOGICAL' variables to false, and `CHARACTER' variables to a |
string of null bytes. Finer-grained initialization options are |
provided by the `-finit-integer=N', |
- `-finit-real=<ZERO|INF|-INF|NAN>' (which also initializes the real |
- and imaginary parts of local `COMPLEX' variables), |
+ `-finit-real=<ZERO|INF|-INF|NAN|SNAN>' (which also initializes the |
+ real and imaginary parts of local `COMPLEX' variables), |
`-finit-logical=<TRUE|FALSE>', and `-finit-character=N' (where N |
is an ASCII character value) options. These options do not |
initialize components of derived type variables, nor do they |
@@ -1389,7 +1471,10 @@ the other form by either removing `no-' or adding it. |
(This limitation may be removed in future releases). |
Note that the `-finit-real=nan' option initializes `REAL' and |
- `COMPLEX' variables with a quiet NaN. |
+ `COMPLEX' variables with a quiet NaN. For a signalling NaN use |
+ `-finit-real=snan'; note, however, that compile-time optimizations |
+ may convert them into quiet NaN and that trapping needs to be |
+ enabled (e.g. via `-ffpe-trap'). |
`-falign-commons' |
By default, `gfortran' enforces proper alignment of all variables |
@@ -1402,6 +1487,14 @@ the other form by either removing `no-' or adding it. |
potential alignment issues in COMMON blocks, it is recommended to |
order objects from largests to smallest. |
+`-fno-protect-parens' |
+ By default the parentheses in expression are honored for all |
+ optimization levels such that the compiler does not do any |
+ re-association. Using `-fno-protect-parens' allows the compiler to |
+ reorder REAL and COMPLEX expressions to produce faster code. Note |
+ that for the re-association optimization `-fno-signed-zeros' and |
+ `-fno-trapping-math' need to be in effect. |
+ |
*Note Options for Code Generation Conventions: (gcc)Code Gen |
Options, for information on more options offered by the GBE shared by |
`gfortran', `gcc', and other GNU compilers. |
@@ -1676,15 +1769,17 @@ File: gfortran.info, Node: Fortran 2003 status, Next: Fortran 2008 status, Up |
4.1 Fortran 2003 status |
======================= |
-Although GNU Fortran focuses on implementing the Fortran 95 standard |
-for the time being, a few Fortran 2003 features are currently available. |
+GNU Fortran supports several Fortran 2003 features; an incomplete list |
+can be found below. See also the wiki page |
+(http://gcc.gnu.org/wiki/Fortran2003) about Fortran 2003. |
* Intrinsics `command_argument_count', `get_command', |
`get_command_argument', `get_environment_variable', and |
`move_alloc'. |
* Array constructors using square brackets. That is, `[...]' rather |
- than `(/.../)'. |
+ than `(/.../)'. Type-specification for array constructors like |
+ `(/ some-type :: ... /)'. |
* `FLUSH' statement. |
@@ -1702,6 +1797,12 @@ for the time being, a few Fortran 2003 features are currently available. |
* `ALLOCATABLE' components of derived types |
+ * The `ERRMSG=' tag is now supported in `ALLOCATE' and `DEALLOCATE' |
+ statements. The `SOURCE=' tag is supported in an `ALLOCATE' |
+ statement. An _intrinsic-type-spec_ can be used as the |
+ _type-spec_ in an `ALLOCATE' statement; while the use of a |
+ _derived-type-name_ is currently unsupported. |
+ |
* The `OPEN' statement supports the `ACCESS='STREAM'' specifier, |
allowing I/O without any record structure. |
@@ -1724,7 +1825,15 @@ for the time being, a few Fortran 2003 features are currently available. |
* Interoperability with C (ISO C Bindings) |
- * BOZ as argument of INT, REAL, DBLE and CMPLX. |
+ * BOZ as argument of `INT', `REAL', `DBLE' and `CMPLX'. |
+ |
+ * Type-bound procedures with `PROCEDURE' or `GENERIC', and operators |
+ bound to a derived-type. |
+ |
+ * Extension of derived-types (the `EXTENDS(...)' syntax). |
+ |
+ * `ABSTRACT' derived-types and declaring procedure bindings |
+ `DEFERRED'. |
@@ -1737,7 +1846,7 @@ The next version of the Fortran standard after Fortran 2003 is currently |
being worked on by the Working Group 5 of Sub-Committee 22 of the Joint |
Technical Committee 1 of the International Organization for |
Standardization (ISO) and the International Electrotechnical Commission |
-(IEC). This group is known at WG5 (http://www.nag.co.uk/sc22wg5/). The |
+(IEC). This group is known as WG5 (http://www.nag.co.uk/sc22wg5/). The |
next revision of the Fortran standard is informally referred to as |
Fortran 2008, reflecting its planned release year. The GNU Fortran |
compiler has support for some of the new features in Fortran 2008. This |
@@ -1746,21 +1855,26 @@ support is based on the latest draft, available from |
differ from the drafts, no guarantee of backward compatibility can be |
made and you should only use it for experimental purposes. |
+ The wiki (http://gcc.gnu.org/wiki/Fortran2008Status) has some |
+information about the current Fortran 2008 implementation status. |
+ |
-File: gfortran.info, Node: Compiler Characteristics, Next: Extensions, Prev: Fortran 2003 and 2008 status, Up: Top |
+File: gfortran.info, Node: Compiler Characteristics, Next: Mixed-Language Programming, Prev: Fortran 2003 and 2008 status, Up: Top |
5 Compiler Characteristics |
************************** |
This chapter describes certain characteristics of the GNU Fortran |
-compiler, namely the KIND type parameter values supported. |
+compiler, that are not specified by the Fortran standard, but which |
+might in some way or another become visible to the programmer. |
* Menu: |
* KIND Type Parameters:: |
+* Internal representation of LOGICAL variables:: |
-File: gfortran.info, Node: KIND Type Parameters, Up: Compiler Characteristics |
+File: gfortran.info, Node: KIND Type Parameters, Next: Internal representation of LOGICAL variables, Up: Compiler Characteristics |
5.1 KIND Type Parameters |
======================== |
@@ -1796,7 +1910,33 @@ imaginary part are a real value of the given size). It is recommended |
to use the `SELECT_*_KIND' intrinsics instead of the concrete values. |
-File: gfortran.info, Node: Extensions, Next: Intrinsic Procedures, Prev: Compiler Characteristics, Up: Top |
+File: gfortran.info, Node: Internal representation of LOGICAL variables, Prev: KIND Type Parameters, Up: Compiler Characteristics |
+ |
+5.2 Internal representation of LOGICAL variables |
+================================================ |
+ |
+The Fortran standard does not specify how variables of `LOGICAL' type |
+are represented, beyond requiring that `LOGICAL' variables of default |
+kind have the same storage size as default `INTEGER' and `REAL' |
+variables. The GNU Fortran internal representation is as follows. |
+ |
+ A `LOGICAL(KIND=N)' variable is represented as an `INTEGER(KIND=N)' |
+variable, however, with only two permissible values: `1' for `.TRUE.' |
+and `0' for `.FALSE.'. Any other integer value results in undefined |
+behavior. |
+ |
+ Note that for mixed-language programming using the `ISO_C_BINDING' |
+feature, there is a `C_BOOL' kind that can be used to create |
+`LOGICAL(KIND=C_BOOL)' variables which are interoperable with the C99 |
+_Bool type. The C99 _Bool type has an internal representation |
+described in the C99 standard, which is identical to the above |
+description, i.e. with 1 for true and 0 for false being the only |
+permissible values. Thus the internal representation of `LOGICAL' |
+variables in GNU Fortran is identical to C99 _Bool, except for a |
+possible difference in storage size depending on the kind. |
+ |
+ |
+File: gfortran.info, Node: Extensions, Next: Intrinsic Procedures, Prev: Mixed-Language Programming, Up: Top |
6 Extensions |
************ |
@@ -2050,7 +2190,7 @@ the real part is initialized unless `CMPLX' is used. In all other |
cases, the BOZ literal constant is converted to an `INTEGER' value with |
the largest decimal representation. This value is then converted |
numerically to the type and kind of the variable in question. (For |
-instance `real :: r = b'0000001' + 1' initializes `r' with `2.0'.) As |
+instance, `real :: r = b'0000001' + 1' initializes `r' with `2.0'.) As |
different compilers implement the extension differently, one should be |
careful when doing bitwise initialization of non-integer variables. |
@@ -2316,8 +2456,7 @@ directives, library routines, and environment variables that influence |
run-time behavior. |
GNU Fortran strives to be compatible to the OpenMP Application |
-Program Interface v2.5 |
-(http://www.openmp.org/drupal/mp-documents/spec25.pdf). |
+Program Interface v3.0 (http://www.openmp.org/mp-documents/spec30.pdf). |
To enable the processing of the OpenMP directive `!$omp' in |
free-form source code; the `c$omp', `*$omp' and `!$omp' directives in |
@@ -2348,7 +2487,7 @@ OpenMP Application Program Interface v2.5: |
may lead to surprising results, especially to segmentation faults |
if the stacksize is limited. |
- * On glibc-based systems, OpenMP enabled applications can not be |
+ * On glibc-based systems, OpenMP enabled applications cannot be |
statically linked due to limitations of the underlying |
pthreads-implementation. It might be possible to get a working |
solution if `-Wl,--whole-archive -lpthread -Wl,--no-whole-archive' |
@@ -2375,7 +2514,7 @@ are rebuilt using a new compiler or version of a compiler. |
`%VAL' passes a scalar argument by value, `%REF' passes it by |
reference and `%LOC' passes its memory location. Since gfortran |
already passes scalar arguments by reference, `%REF' is in effect a |
-do-nothing. `%LOC' has the same effect as a fortran pointer. |
+do-nothing. `%LOC' has the same effect as a Fortran pointer. |
An example of passing an argument by value to a C subroutine foo.: |
C |
@@ -2390,8 +2529,8 @@ do-nothing. `%LOC' has the same effect as a fortran pointer. |
For details refer to the g77 manual |
`http://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/index.html#Top'. |
- Also, the gfortran testsuite c_by_val.f and its partner c_by_val.c |
-are worth a look. |
+ Also, `c_by_val.f' and its partner `c_by_val.c' of the GNU Fortran |
+testsuite are worth a look. |
File: gfortran.info, Node: Extensions not implemented in GNU Fortran, Prev: Extensions implemented in GNU Fortran, Up: Extensions |
@@ -2412,6 +2551,7 @@ best make code that uses them running with the GNU Fortran compiler. |
* STRUCTURE and RECORD:: |
* ENCODE and DECODE statements:: |
+* Variable FORMAT expressions:: |
File: gfortran.info, Node: STRUCTURE and RECORD, Next: ENCODE and DECODE statements, Up: Extensions not implemented in GNU Fortran |
@@ -2475,7 +2615,7 @@ This code can easily be rewritten in the Fortran 90 syntax as following: |
print *, store_catalog(12) |
-File: gfortran.info, Node: ENCODE and DECODE statements, Prev: STRUCTURE and RECORD, Up: Extensions not implemented in GNU Fortran |
+File: gfortran.info, Node: ENCODE and DECODE statements, Next: Variable FORMAT expressions, Prev: STRUCTURE and RECORD, Up: Extensions not implemented in GNU Fortran |
6.2.2 `ENCODE' and `DECODE' statements |
-------------------------------------- |
@@ -2510,16 +2650,612 @@ with the following: |
with the following: |
- INTEGER*1 LINE(80) |
+ CHARACTER(LEN=80) LINE |
REAL A, B, C |
c ... Code that sets A, B and C |
WRITE (UNIT=LINE, FMT=9000) A, B, C |
9000 FORMAT (1X, 'OUTPUT IS ', 3(F10.5)) |
+File: gfortran.info, Node: Variable FORMAT expressions, Prev: ENCODE and DECODE statements, Up: Extensions not implemented in GNU Fortran |
+ |
+6.2.3 Variable `FORMAT' expressions |
+----------------------------------- |
+ |
+A variable `FORMAT' expression is format statement which includes angle |
+brackets enclosing a Fortran expression: `FORMAT(I<N>)'. GNU Fortran |
+does not support this legacy extension. The effect of variable format |
+expressions can be reproduced by using the more powerful (and standard) |
+combination of internal output and string formats. For example, replace |
+a code fragment like this: |
+ |
+ WRITE(6,20) INT1 |
+ 20 FORMAT(I<N+1>) |
+ |
+with the following: |
+ |
+ c Variable declaration |
+ CHARACTER(LEN=20) F |
+ c |
+ c Other code here... |
+ c |
+ WRITE(FMT,'("(I", I0, ")")') N+1 |
+ WRITE(6,FM) INT1 |
+ |
+or with: |
+ |
+ c Variable declaration |
+ CHARACTER(LEN=20) FMT |
+ c |
+ c Other code here... |
+ c |
+ WRITE(FMT,*) N+1 |
+ WRITE(6,"(I" // ADJUSTL(FMT) // ")") INT1 |
+ |
+ |
+File: gfortran.info, Node: Mixed-Language Programming, Next: Extensions, Prev: Compiler Characteristics, Up: Top |
+ |
+7 Mixed-Language Programming |
+**************************** |
+ |
+* Menu: |
+ |
+* Interoperability with C:: |
+* GNU Fortran Compiler Directives:: |
+* Non-Fortran Main Program:: |
+ |
+ This chapter is about mixed-language interoperability, but also |
+applies if one links Fortran code compiled by different compilers. In |
+most cases, use of the C Binding features of the Fortran 2003 standard |
+is sufficient, and their use is highly recommended. |
+ |
+ |
+File: gfortran.info, Node: Interoperability with C, Next: GNU Fortran Compiler Directives, Up: Mixed-Language Programming |
+ |
+7.1 Interoperability with C |
+=========================== |
+ |
+* Menu: |
+ |
+* Intrinsic Types:: |
+* Further Interoperability of Fortran with C:: |
+* Derived Types and struct:: |
+* Interoperable Global Variables:: |
+* Interoperable Subroutines and Functions:: |
+ |
+ Since Fortran 2003 (ISO/IEC 1539-1:2004(E)) there is a standardized |
+way to generate procedure and derived-type declarations and global |
+variables which are interoperable with C (ISO/IEC 9899:1999). The |
+`bind(C)' attribute has been added to inform the compiler that a symbol |
+shall be interoperable with C; also, some constraints are added. Note, |
+however, that not all C features have a Fortran equivalent or vice |
+versa. For instance, neither C's unsigned integers nor C's functions |
+with variable number of arguments have an equivalent in Fortran. |
+ |
+ Note that array dimensions are reversely ordered in C and that |
+arrays in C always start with index 0 while in Fortran they start by |
+default with 1. Thus, an array declaration `A(n,m)' in Fortran matches |
+`A[m][n]' in C and accessing the element `A(i,j)' matches |
+`A[j-1][i-1]'. The element following `A(i,j)' (C: `A[j-1][i-1]'; |
+assuming i < n) in memory is `A(i+1,j)' (C: `A[j-1][i]'). |
+ |
+ |
+File: gfortran.info, Node: Intrinsic Types, Next: Further Interoperability of Fortran with C, Up: Interoperability with C |
+ |
+7.1.1 Intrinsic Types |
+--------------------- |
+ |
+In order to ensure that exactly the same variable type and kind is used |
+in C and Fortran, the named constants shall be used which are defined |
+in the `ISO_C_BINDING' intrinsic module. That module contains named |
+constants for kind parameters and character named constants for the |
+escape sequences in C. For a list of the constants, see *note |
+ISO_C_BINDING::. |
+ |
+ |
+File: gfortran.info, Node: Derived Types and struct, Next: Interoperable Global Variables, Prev: Further Interoperability of Fortran with C, Up: Interoperability with C |
+ |
+7.1.2 Derived Types and struct |
+------------------------------ |
+ |
+For compatibility of derived types with `struct', one needs to use the |
+`BIND(C)' attribute in the type declaration. For instance, the |
+following type declaration |
+ |
+ USE ISO_C_BINDING |
+ TYPE, BIND(C) :: myType |
+ INTEGER(C_INT) :: i1, i2 |
+ INTEGER(C_SIGNED_CHAR) :: i3 |
+ REAL(C_DOUBLE) :: d1 |
+ COMPLEX(C_FLOAT_COMPLEX) :: c1 |
+ CHARACTER(KIND=C_CHAR) :: str(5) |
+ END TYPE |
+ |
+ matches the following `struct' declaration in C |
+ |
+ struct { |
+ int i1, i2; |
+ /* Note: "char" might be signed or unsigned. */ |
+ signed char i3; |
+ double d1; |
+ float _Complex c1; |
+ char str[5]; |
+ } myType; |
+ |
+ Derived types with the C binding attribute shall not have the |
+`sequence' attribute, type parameters, the `extends' attribute, nor |
+type-bound procedures. Every component must be of interoperable type |
+and kind and may not have the `pointer' or `allocatable' attribute. The |
+names of the variables are irrelevant for interoperability. |
+ |
+ As there exist no direct Fortran equivalents, neither unions nor |
+structs with bit field or variable-length array members are |
+interoperable. |
+ |
+ |
+File: gfortran.info, Node: Interoperable Global Variables, Next: Interoperable Subroutines and Functions, Prev: Derived Types and struct, Up: Interoperability with C |
+ |
+7.1.3 Interoperable Global Variables |
+------------------------------------ |
+ |
+Variables can be made accessible from C using the C binding attribute, |
+optionally together with specifying a binding name. Those variables |
+have to be declared in the declaration part of a `MODULE', be of |
+interoperable type, and have neither the `pointer' nor the |
+`allocatable' attribute. |
+ |
+ MODULE m |
+ USE myType_module |
+ USE ISO_C_BINDING |
+ integer(C_INT), bind(C, name="_MyProject_flags") :: global_flag |
+ type(myType), bind(C) :: tp |
+ END MODULE |
+ |
+ Here, `_MyProject_flags' is the case-sensitive name of the variable |
+as seen from C programs while `global_flag' is the case-insensitive |
+name as seen from Fortran. If no binding name is specified, as for TP, |
+the C binding name is the (lowercase) Fortran binding name. If a |
+binding name is specified, only a single variable may be after the |
+double colon. Note of warning: You cannot use a global variable to |
+access ERRNO of the C library as the C standard allows it to be a |
+macro. Use the `IERRNO' intrinsic (GNU extension) instead. |
+ |
+ |
+File: gfortran.info, Node: Interoperable Subroutines and Functions, Prev: Interoperable Global Variables, Up: Interoperability with C |
+ |
+7.1.4 Interoperable Subroutines and Functions |
+--------------------------------------------- |
+ |
+Subroutines and functions have to have the `BIND(C)' attribute to be |
+compatible with C. The dummy argument declaration is relatively |
+straightforward. However, one needs to be careful because C uses |
+call-by-value by default while Fortran behaves usually similar to |
+call-by-reference. Furthermore, strings and pointers are handled |
+differently. Note that only explicit size and assumed-size arrays are |
+supported but not assumed-shape or allocatable arrays. |
+ |
+ To pass a variable by value, use the `VALUE' attribute. Thus the |
+following C prototype |
+ |
+ `int func(int i, int *j)' |
+ |
+ matches the Fortran declaration |
+ |
+ integer(c_int) function func(i,j) |
+ use iso_c_binding, only: c_int |
+ integer(c_int), VALUE :: i |
+ integer(c_int) :: j |
+ |
+ Note that pointer arguments also frequently need the `VALUE' |
+attribute. |
+ |
+ Strings are handled quite differently in C and Fortran. In C a string |
+is a `NUL'-terminated array of characters while in Fortran each string |
+has a length associated with it and is thus not terminated (by e.g. |
+`NUL'). For example, if one wants to use the following C function, |
+ |
+ #include <stdio.h> |
+ void print_C(char *string) /* equivalent: char string[] */ |
+ { |
+ printf("%s\n", string); |
+ } |
+ |
+ to print "Hello World" from Fortran, one can call it using |
+ |
+ use iso_c_binding, only: C_CHAR, C_NULL_CHAR |
+ interface |
+ subroutine print_c(string) bind(C, name="print_C") |
+ use iso_c_binding, only: c_char |
+ character(kind=c_char) :: string(*) |
+ end subroutine print_c |
+ end interface |
+ call print_c(C_CHAR_"Hello World"//C_NULL_CHAR) |
+ |
+ As the example shows, one needs to ensure that the string is `NUL' |
+terminated. Additionally, the dummy argument STRING of `print_C' is a |
+length-one assumed-size array; using `character(len=*)' is not allowed. |
+The example above uses `c_char_"Hello World"' to ensure the string |
+literal has the right type; typically the default character kind and |
+`c_char' are the same and thus `"Hello World"' is equivalent. However, |
+the standard does not guarantee this. |
+ |
+ The use of pointers is now illustrated using the C library function |
+`strncpy', whose prototype is |
+ |
+ char *strncpy(char *restrict s1, const char *restrict s2, size_t n); |
+ |
+ The function `strncpy' copies at most N characters from string S2 to |
+S1 and returns S1. In the following example, we ignore the return value: |
+ |
+ use iso_c_binding |
+ implicit none |
+ character(len=30) :: str,str2 |
+ interface |
+ ! Ignore the return value of strncpy -> subroutine |
+ ! "restrict" is always assumed if we do not pass a pointer |
+ subroutine strncpy(dest, src, n) bind(C) |
+ import |
+ character(kind=c_char), intent(out) :: dest(*) |
+ character(kind=c_char), intent(in) :: src(*) |
+ integer(c_size_t), value, intent(in) :: n |
+ end subroutine strncpy |
+ end interface |
+ str = repeat('X',30) ! Initialize whole string with 'X' |
+ call strncpy(str, c_char_"Hello World"//C_NULL_CHAR, & |
+ len(c_char_"Hello World",kind=c_size_t)) |
+ print '(a)', str ! prints: "Hello WorldXXXXXXXXXXXXXXXXXXX" |
+ end |
+ |
+ C pointers are represented in Fortran via the special derived type |
+`type(c_ptr)', with private components. Thus one needs to use intrinsic |
+conversion procedures to convert from or to C pointers. For example, |
+ |
+ use iso_c_binding |
+ type(c_ptr) :: cptr1, cptr2 |
+ integer, target :: array(7), scalar |
+ integer, pointer :: pa(:), ps |
+ cptr1 = c_loc(array(1)) ! The programmer needs to ensure that the |
+ ! array is contiguous if required by the C |
+ ! procedure |
+ cptr2 = c_loc(scalar) |
+ call c_f_pointer(cptr2, ps) |
+ call c_f_pointer(cptr2, pa, shape=[7]) |
+ |
+ When converting C to Fortran arrays, the one-dimensional `SHAPE' |
+argument has to be passed. Note: A pointer argument `void *' matches |
+`TYPE(C_PTR), VALUE' while `TYPE(C_PTR)' matches `void **'. |
+ |
+ Procedure pointers are handled analogously to pointers; the C type is |
+`TYPE(C_FUNPTR)' and the intrinsic conversion procedures are |
+`C_F_PROC_POINTER' and `C_FUNLOC'. |
+ |
+ The intrinsic procedures are described in *note Intrinsic |
+Procedures::. |
+ |
+ |
+File: gfortran.info, Node: Further Interoperability of Fortran with C, Next: Derived Types and struct, Prev: Intrinsic Types, Up: Interoperability with C |
+ |
+7.1.5 Further Interoperability of Fortran with C |
+------------------------------------------------ |
+ |
+Assumed-shape and allocatable arrays are passed using an array |
+descriptor (dope vector). The internal structure of the array |
+descriptor used by GNU Fortran is not yet documented and will change. |
+There will also be a Technical Report (TR 29113) which standardizes an |
+interoperable array descriptor. Until then, you can use the Chasm |
+Language Interoperability Tools, |
+`http://chasm-interop.sourceforge.net/', which provide an interface to |
+GNU Fortran's array descriptor. |
+ |
+ The technical report 29113 will presumably also include support for |
+C-interoperable `OPTIONAL' and for assumed-rank and assumed-type dummy |
+arguments. However, the TR has neither been approved nor implemented in |
+GNU Fortran; therefore, these features are not yet available. |
+ |
+ |
+File: gfortran.info, Node: GNU Fortran Compiler Directives, Next: Non-Fortran Main Program, Prev: Interoperability with C, Up: Mixed-Language Programming |
+ |
+7.2 GNU Fortran Compiler Directives |
+=================================== |
+ |
+The Fortran standard standard describes how a conforming program shall |
+behave; however, the exact implementation is not standardized. In order |
+to allow the user to choose specific implementation details, compiler |
+directives can be used to set attributes of variables and procedures |
+which are not part of the standard. Whether a given attribute is |
+supported and its exact effects depend on both the operating system and |
+on the processor; see *note C Extensions: (gcc)Top. for details. |
+ |
+ For procedures and procedure pointers, the following attributes can |
+be used to change the calling convention: |
+ |
+ * `CDECL' - standard C calling convention |
+ |
+ * `STDCALL' - convention where the called procedure pops the stack |
+ |
+ * `FASTCALL' - part of the arguments are passed via registers |
+ instead using the stack |
+ |
+ Besides changing the calling convention, the attributes also |
+influence the decoration of the symbol name, e.g., by a leading |
+underscore or by a trailing at-sign followed by the number of bytes on |
+the stack. When assigning a procedure to a procedure pointer, both |
+should use the same calling convention. |
+ |
+ On some systems, procedures and global variables (module variables |
+and `COMMON' blocks) need special handling to be accessible when they |
+are in a shared library. The following attributes are available: |
+ |
+ * `DLLEXPORT' - provide a global pointer to a pointer in the DLL |
+ |
+ * `DLLIMPORT' - reference the function or variable using a global |
+ pointer |
+ |
+ The attributes are specified using the syntax |
+ |
+ `!GCC$ ATTRIBUTES' ATTRIBUTE-LIST `::' VARIABLE-LIST |
+ |
+ where in free-form source code only whitespace is allowed before |
+`!GCC$' and in fixed-form source code `!GCC$', `cGCC$' or `*GCC$' shall |
+start in the first column. |
+ |
+ For procedures, the compiler directives shall be placed into the body |
+of the procedure; for variables and procedure pointers, they shall be in |
+the same declaration part as the variable or procedure pointer. |
+ |
+ |
+File: gfortran.info, Node: Non-Fortran Main Program, Prev: GNU Fortran Compiler Directives, Up: Mixed-Language Programming |
+ |
+7.3 Non-Fortran Main Program |
+============================ |
+ |
+* Menu: |
+ |
+* _gfortran_set_args:: Save command-line arguments |
+* _gfortran_set_options:: Set library option flags |
+* _gfortran_set_convert:: Set endian conversion |
+* _gfortran_set_record_marker:: Set length of record markers |
+* _gfortran_set_max_subrecord_length:: Set subrecord length |
+* _gfortran_set_fpe:: Set when a Floating Point Exception should be raised |
+ |
+ Even if you are doing mixed-language programming, it is very likely |
+that you do not need to know or use the information in this section. |
+Since it is about the internal structure of GNU Fortran, it may also |
+change in GCC minor releases. |
+ |
+ When you compile a `PROGRAM' with GNU Fortran, a function with the |
+name `main' (in the symbol table of the object file) is generated, |
+which initializes the libgfortran library and then calls the actual |
+program which uses the name `MAIN__', for historic reasons. If you link |
+GNU Fortran compiled procedures to, e.g., a C or C++ program or to a |
+Fortran program compiled by a different compiler, the libgfortran |
+library is not initialized and thus a few intrinsic procedures do not |
+work properly, e.g. those for obtaining the command-line arguments. |
+ |
+ Therefore, if your `PROGRAM' is not compiled with GNU Fortran and |
+the GNU Fortran compiled procedures require intrinsics relying on the |
+library initialization, you need to initialize the library yourself. |
+Using the default options, gfortran calls `_gfortran_set_args' and |
+`_gfortran_set_options'. The initialization of the former is needed if |
+the called procedures access the command line (and for backtracing); |
+the latter sets some flags based on the standard chosen or to enable |
+backtracing. In typical programs, it is not necessary to call any |
+initialization function. |
+ |
+ If your `PROGRAM' is compiled with GNU Fortran, you shall not call |
+any of the following functions. The libgfortran initialization |
+functions are shown in C syntax but using C bindings they are also |
+accessible from Fortran. |
+ |
+ |
+File: gfortran.info, Node: _gfortran_set_args, Next: _gfortran_set_options, Up: Non-Fortran Main Program |
+ |
+7.3.1 `_gfortran_set_args' -- Save command-line arguments |
+--------------------------------------------------------- |
+ |
+_Description_: |
+ `_gfortran_set_args' saves the command-line arguments; this |
+ initialization is required if any of the command-line intrinsics |
+ is called. Additionally, it shall be called if backtracing is |
+ enabled (see `_gfortran_set_options'). |
+ |
+_Syntax_: |
+ `void _gfortran_set_args (int argc, char *argv[])' |
+ |
+_Arguments_: |
+ ARGC number of command line argument strings |
+ ARGV the command-line argument strings; argv[0] is |
+ the pathname of the executable itself. |
+ |
+_Example_: |
+ int main (int argc, char *argv[]) |
+ { |
+ /* Initialize libgfortran. */ |
+ _gfortran_set_args (argc, argv); |
+ return 0; |
+ } |
+ |
+ |
+File: gfortran.info, Node: _gfortran_set_options, Next: _gfortran_set_convert, Prev: _gfortran_set_args, Up: Non-Fortran Main Program |
+ |
+7.3.2 `_gfortran_set_options' -- Set library option flags |
+--------------------------------------------------------- |
+ |
+_Description_: |
+ `_gfortran_set_options' sets several flags related to the Fortran |
+ standard to be used, whether backtracing or core dumps should be |
+ enabled and whether range checks should be performed. The syntax |
+ allows for upward compatibility since the number of passed flags |
+ is specified; for non-passed flags, the default value is used. See |
+ also *note Code Gen Options::. Please note that not all flags are |
+ actually used. |
+ |
+_Syntax_: |
+ `void _gfortran_set_options (int num, int options[])' |
+ |
+_Arguments_: |
+ NUM number of options passed |
+ ARGV The list of flag values |
+ |
+_option flag list_: |
+ OPTION[0] Allowed standard; can give run-time errors if |
+ e.g. an input-output edit descriptor is |
+ invalid in a given standard. Possible values |
+ are (bitwise or-ed) `GFC_STD_F77' (1), |
+ `GFC_STD_F95_OBS' (2), `GFC_STD_F95_DEL' (4), |
+ `GFC_STD_F95' (8), `GFC_STD_F2003' (16), |
+ `GFC_STD_GNU' (32), `GFC_STD_LEGACY' (64), and |
+ `GFC_STD_F2008' (128). Default: |
+ `GFC_STD_F95_OBS | GFC_STD_F95_DEL | |
+ GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | |
+ GFC_STD_F77 | GFC_STD_GNU | GFC_STD_LEGACY'. |
+ OPTION[1] Standard-warning flag; prints a warning to |
+ standard error. Default: `GFC_STD_F95_DEL | |
+ GFC_STD_LEGACY'. |
+ OPTION[2] If non zero, enable pedantic checking. |
+ Default: off. |
+ OPTION[3] If non zero, enable core dumps on run-time |
+ errors. Default: off. |
+ OPTION[4] If non zero, enable backtracing on run-time |
+ errors. Default: off. Note: Installs a signal |
+ handler and requires command-line |
+ initialization using `_gfortran_set_args'. |
+ OPTION[5] If non zero, supports signed zeros. Default: |
+ enabled. |
+ OPTION[6] Enables run-time checking. Possible values are |
+ (bitwise or-ed): GFC_RTCHECK_BOUNDS (1), |
+ GFC_RTCHECK_ARRAY_TEMPS (2), |
+ GFC_RTCHECK_RECURSION (4), GFC_RTCHECK_DO |
+ (16), GFC_RTCHECK_POINTER (32). Default: |
+ disabled. |
+ OPTION[7] If non zero, range checking is enabled. |
+ Default: enabled. See -frange-check (*note |
+ Code Gen Options::). |
+ |
+_Example_: |
+ /* Use gfortran 4.5 default options. */ |
+ static int options[] = {68, 255, 0, 0, 0, 1, 0, 1}; |
+ _gfortran_set_options (8, &options); |
+ |
+ |
+File: gfortran.info, Node: _gfortran_set_convert, Next: _gfortran_set_record_marker, Prev: _gfortran_set_options, Up: Non-Fortran Main Program |
+ |
+7.3.3 `_gfortran_set_convert' -- Set endian conversion |
+------------------------------------------------------ |
+ |
+_Description_: |
+ `_gfortran_set_convert' set the representation of data for |
+ unformatted files. |
+ |
+_Syntax_: |
+ `void _gfortran_set_convert (int conv)' |
+ |
+_Arguments_: |
+ CONV Endian conversion, possible values: |
+ GFC_CONVERT_NATIVE (0, default), |
+ GFC_CONVERT_SWAP (1), GFC_CONVERT_BIG (2), |
+ GFC_CONVERT_LITTLE (3). |
+ |
+_Example_: |
+ int main (int argc, char *argv[]) |
+ { |
+ /* Initialize libgfortran. */ |
+ _gfortran_set_args (argc, argv); |
+ _gfortran_set_convert (1); |
+ return 0; |
+ } |
+ |
+ |
+File: gfortran.info, Node: _gfortran_set_record_marker, Next: _gfortran_set_max_subrecord_length, Prev: _gfortran_set_convert, Up: Non-Fortran Main Program |
+ |
+7.3.4 `_gfortran_set_record_marker' -- Set length of record markers |
+------------------------------------------------------------------- |
+ |
+_Description_: |
+ `_gfortran_set_record_marker' sets the length of record markers |
+ for unformatted files. |
+ |
+_Syntax_: |
+ `void _gfortran_set_record_marker (int val)' |
+ |
+_Arguments_: |
+ VAL Length of the record marker; valid values are |
+ 4 and 8. Default is 4. |
+ |
+_Example_: |
+ int main (int argc, char *argv[]) |
+ { |
+ /* Initialize libgfortran. */ |
+ _gfortran_set_args (argc, argv); |
+ _gfortran_set_record_marker (8); |
+ return 0; |
+ } |
+ |
+ |
+File: gfortran.info, Node: _gfortran_set_fpe, Prev: _gfortran_set_max_subrecord_length, Up: Non-Fortran Main Program |
+ |
+7.3.5 `_gfortran_set_fpe' -- Set when a Floating Point Exception should be raised |
+--------------------------------------------------------------------------------- |
+ |
+_Description_: |
+ `_gfortran_set_fpe' sets the IEEE exceptions for which a Floating |
+ Point Exception (FPE) should be raised. On most systems, this will |
+ result in a SIGFPE signal being sent and the program being |
+ interrupted. |
+ |
+_Syntax_: |
+ `void _gfortran_set_fpe (int val)' |
+ |
+_Arguments_: |
+ OPTION[0] IEEE exceptions. Possible values are (bitwise |
+ or-ed) zero (0, default) no trapping, |
+ `GFC_FPE_INVALID' (1), `GFC_FPE_DENORMAL' (2), |
+ `GFC_FPE_ZERO' (4), `GFC_FPE_OVERFLOW' (8), |
+ `GFC_FPE_UNDERFLOW' (16), and |
+ `GFC_FPE_PRECISION' (32). |
+ |
+_Example_: |
+ int main (int argc, char *argv[]) |
+ { |
+ /* Initialize libgfortran. */ |
+ _gfortran_set_args (argc, argv); |
+ /* FPE for invalid operations such as SQRT(-1.0). */ |
+ _gfortran_set_fpe (1); |
+ return 0; |
+ } |
+ |
+ |
+File: gfortran.info, Node: _gfortran_set_max_subrecord_length, Next: _gfortran_set_fpe, Prev: _gfortran_set_record_marker, Up: Non-Fortran Main Program |
+ |
+7.3.6 `_gfortran_set_max_subrecord_length' -- Set subrecord length |
+------------------------------------------------------------------ |
+ |
+_Description_: |
+ `_gfortran_set_max_subrecord_length' set the maximum length for a |
+ subrecord. This option only makes sense for testing and debugging |
+ of unformatted I/O. |
+ |
+_Syntax_: |
+ `void _gfortran_set_max_subrecord_length (int val)' |
+ |
+_Arguments_: |
+ VAL the maximum length for a subrecord; the |
+ maximum permitted value is 2147483639, which |
+ is also the default. |
+ |
+_Example_: |
+ int main (int argc, char *argv[]) |
+ { |
+ /* Initialize libgfortran. */ |
+ _gfortran_set_args (argc, argv); |
+ _gfortran_set_max_subrecord_length (8); |
+ return 0; |
+ } |
+ |
+ |
File: gfortran.info, Node: Intrinsic Procedures, Next: Intrinsic Modules, Prev: Extensions, Up: Top |
-7 Intrinsic Procedures |
+8 Intrinsic Procedures |
********************** |
* Menu: |
@@ -2653,7 +3389,6 @@ File: gfortran.info, Node: Intrinsic Procedures, Next: Intrinsic Modules, Pre |
* `LEADZ': LEADZ, Number of leading zero bits of an integer |
* `LEN': LEN, Length of a character entity |
* `LEN_TRIM': LEN_TRIM, Length of a character entity without trailing blank characters |
-* `LOG_GAMMA': LOG_GAMMA, Logarithm of the Gamma function |
* `LGE': LGE, Lexical greater than or equal |
* `LGT': LGT, Lexical greater than |
* `LINK': LINK, Create a hard link |
@@ -2663,6 +3398,7 @@ File: gfortran.info, Node: Intrinsic Procedures, Next: Intrinsic Modules, Pre |
* `LOC': LOC, Returns the address of a variable |
* `LOG': LOG, Logarithm function |
* `LOG10': LOG10, Base 10 logarithm function |
+* `LOG_GAMMA': LOG_GAMMA, Logarithm of the Gamma function |
* `LOGICAL': LOGICAL, Convert to logical type |
* `LONG': LONG, Convert to integer type |
* `LSHIFT': LSHIFT, Left shift bits |
@@ -2754,7 +3490,7 @@ File: gfortran.info, Node: Intrinsic Procedures, Next: Intrinsic Modules, Pre |
File: gfortran.info, Node: Introduction to Intrinsics, Next: ABORT, Up: Intrinsic Procedures |
-7.1 Introduction to intrinsic procedures |
+8.1 Introduction to intrinsic procedures |
======================================== |
The intrinsic procedures provided by GNU Fortran include all of the |
@@ -2797,7 +3533,7 @@ for each intrinsic procedure is noted. |
File: gfortran.info, Node: ABORT, Next: ABS, Prev: Introduction to Intrinsics, Up: Intrinsic Procedures |
-7.2 `ABORT' -- Abort the program |
+8.2 `ABORT' -- Abort the program |
================================ |
_Description_: |
@@ -2831,7 +3567,7 @@ _See also_: |
File: gfortran.info, Node: ABS, Next: ACCESS, Prev: ABORT, Up: Intrinsic Procedures |
-7.3 `ABS' -- Absolute value |
+8.3 `ABS' -- Absolute value |
=========================== |
_Description_: |
@@ -2880,7 +3616,7 @@ _Specific names_: |
File: gfortran.info, Node: ACCESS, Next: ACHAR, Prev: ABS, Up: Intrinsic Procedures |
-7.4 `ACCESS' -- Checks file access modes |
+8.4 `ACCESS' -- Checks file access modes |
======================================== |
_Description_: |
@@ -2933,7 +3669,7 @@ _See also_: |
File: gfortran.info, Node: ACHAR, Next: ACOS, Prev: ACCESS, Up: Intrinsic Procedures |
-7.5 `ACHAR' -- Character in ASCII collating sequence |
+8.5 `ACHAR' -- Character in ASCII collating sequence |
==================================================== |
_Description_: |
@@ -2977,14 +3713,14 @@ _See also_: |
File: gfortran.info, Node: ACOS, Next: ACOSH, Prev: ACHAR, Up: Intrinsic Procedures |
-7.6 `ACOS' -- Arccosine function |
+8.6 `ACOS' -- Arccosine function |
================================ |
_Description_: |
`ACOS(X)' computes the arccosine of X (inverse of `COS(X)'). |
_Standard_: |
- Fortran 77 and later |
+ Fortran 77 and later, for a complex argument Fortran 2008 or later |
_Class_: |
Elemental function |
@@ -2993,12 +3729,14 @@ _Syntax_: |
`RESULT = ACOS(X)' |
_Arguments_: |
- X The type shall be `REAL' with a magnitude that |
- is less than or equal to one. |
+ X The type shall either be `REAL' with a |
+ magnitude that is less than or equal to one - |
+ or the type shall be `COMPLEX'. |
_Return value_: |
- The return value is of type `REAL' and it lies in the range 0 |
- \leq \acos(x) \leq \pi. The return value if of the same kind as X. |
+ The return value is of the same type and kind as X. The real part |
+ of the result is in radians and lies in the range 0 \leq \Re |
+ \acos(x) \leq \pi. |
_Example_: |
program test_acos |
@@ -3018,7 +3756,7 @@ _See also_: |
File: gfortran.info, Node: ACOSH, Next: ADJUSTL, Prev: ACOS, Up: Intrinsic Procedures |
-7.7 `ACOSH' -- Hyperbolic arccosine function |
+8.7 `ACOSH' -- Hyperbolic arccosine function |
============================================ |
_Description_: |
@@ -3038,7 +3776,9 @@ _Arguments_: |
X The type shall be `REAL' or `COMPLEX'. |
_Return value_: |
- The return value has the same type and kind as X |
+ The return value has the same type and kind as X. If X is complex, |
+ the imaginary part of the result is in radians and lies between 0 |
+ \leq \Im \acosh(x) \leq \pi. |
_Example_: |
PROGRAM test_acosh |
@@ -3056,7 +3796,7 @@ _See also_: |
File: gfortran.info, Node: ADJUSTL, Next: ADJUSTR, Prev: ACOSH, Up: Intrinsic Procedures |
-7.8 `ADJUSTL' -- Left adjust a string |
+8.8 `ADJUSTL' -- Left adjust a string |
===================================== |
_Description_: |
@@ -3093,7 +3833,7 @@ _See also_: |
File: gfortran.info, Node: ADJUSTR, Next: AIMAG, Prev: ADJUSTL, Up: Intrinsic Procedures |
-7.9 `ADJUSTR' -- Right adjust a string |
+8.9 `ADJUSTR' -- Right adjust a string |
====================================== |
_Description_: |
@@ -3130,7 +3870,7 @@ _See also_: |
File: gfortran.info, Node: AIMAG, Next: AINT, Prev: ADJUSTR, Up: Intrinsic Procedures |
-7.10 `AIMAG' -- Imaginary part of complex number |
+8.10 `AIMAG' -- Imaginary part of complex number |
================================================ |
_Description_: |
@@ -3174,7 +3914,7 @@ _Specific names_: |
File: gfortran.info, Node: AINT, Next: ALARM, Prev: AIMAG, Up: Intrinsic Procedures |
-7.11 `AINT' -- Truncate to a whole number |
+8.11 `AINT' -- Truncate to a whole number |
========================================= |
_Description_: |
@@ -3222,7 +3962,7 @@ _Specific names_: |
File: gfortran.info, Node: ALARM, Next: ALL, Prev: AINT, Up: Intrinsic Procedures |
-7.12 `ALARM' -- Execute a routine after a given delay |
+8.12 `ALARM' -- Execute a routine after a given delay |
===================================================== |
_Description_: |
@@ -3269,7 +4009,7 @@ _Example_: |
File: gfortran.info, Node: ALL, Next: ALLOCATED, Prev: ALARM, Up: Intrinsic Procedures |
-7.13 `ALL' -- All values in MASK along DIM are true |
+8.13 `ALL' -- All values in MASK along DIM are true |
=================================================== |
_Description_: |
@@ -3329,7 +4069,7 @@ _Example_: |
File: gfortran.info, Node: ALLOCATED, Next: AND, Prev: ALL, Up: Intrinsic Procedures |
-7.14 `ALLOCATED' -- Status of an allocatable entity |
+8.14 `ALLOCATED' -- Status of an allocatable entity |
=================================================== |
_Description_: |
@@ -3362,7 +4102,7 @@ _Example_: |
File: gfortran.info, Node: AND, Next: ANINT, Prev: ALLOCATED, Up: Intrinsic Procedures |
-7.15 `AND' -- Bitwise logical AND |
+8.15 `AND' -- Bitwise logical AND |
================================= |
_Description_: |
@@ -3409,7 +4149,7 @@ _See also_: |
File: gfortran.info, Node: ANINT, Next: ANY, Prev: AND, Up: Intrinsic Procedures |
-7.16 `ANINT' -- Nearest whole number |
+8.16 `ANINT' -- Nearest whole number |
==================================== |
_Description_: |
@@ -3456,7 +4196,7 @@ _Specific names_: |
File: gfortran.info, Node: ANY, Next: ASIN, Prev: ANINT, Up: Intrinsic Procedures |
-7.17 `ANY' -- Any value in MASK along DIM is true |
+8.17 `ANY' -- Any value in MASK along DIM is true |
================================================= |
_Description_: |
@@ -3517,14 +4257,14 @@ _Example_: |
File: gfortran.info, Node: ASIN, Next: ASINH, Prev: ANY, Up: Intrinsic Procedures |
-7.18 `ASIN' -- Arcsine function |
+8.18 `ASIN' -- Arcsine function |
=============================== |
_Description_: |
`ASIN(X)' computes the arcsine of its X (inverse of `SIN(X)'). |
_Standard_: |
- Fortran 77 and later |
+ Fortran 77 and later, for a complex argument Fortran 2008 or later |
_Class_: |
Elemental function |
@@ -3533,13 +4273,14 @@ _Syntax_: |
`RESULT = ASIN(X)' |
_Arguments_: |
- X The type shall be `REAL', and a magnitude that |
- is less than or equal to one. |
+ X The type shall be either `REAL' and a |
+ magnitude that is less than or equal to one - |
+ or be `COMPLEX'. |
_Return value_: |
- The return value is of type `REAL' and it lies in the range -\pi / |
- 2 \leq \asin (x) \leq \pi / 2. The kind type parameter is the |
- same as X. |
+ The return value is of the same type and kind as X. The real part |
+ of the result is in radians and lies in the range -\pi/2 \leq \Re |
+ \asin(x) \leq \pi/2. |
_Example_: |
program test_asin |
@@ -3559,7 +4300,7 @@ _See also_: |
File: gfortran.info, Node: ASINH, Next: ASSOCIATED, Prev: ASIN, Up: Intrinsic Procedures |
-7.19 `ASINH' -- Hyperbolic arcsine function |
+8.19 `ASINH' -- Hyperbolic arcsine function |
=========================================== |
_Description_: |
@@ -3579,7 +4320,9 @@ _Arguments_: |
X The type shall be `REAL' or `COMPLEX'. |
_Return value_: |
- The return value is of the same type and kind as X. |
+ The return value is of the same type and kind as X. If X is |
+ complex, the imaginary part of the result is in radians and lies |
+ between -\pi/2 \leq \Im \asinh(x) \leq \pi/2. |
_Example_: |
PROGRAM test_asinh |
@@ -3597,7 +4340,7 @@ _See also_: |
File: gfortran.info, Node: ASSOCIATED, Next: ATAN, Prev: ASINH, Up: Intrinsic Procedures |
-7.20 `ASSOCIATED' -- Status of a pointer or pointer/target pair |
+8.20 `ASSOCIATED' -- Status of a pointer or pointer/target pair |
=============================================================== |
_Description_: |
@@ -3671,27 +4414,36 @@ _See also_: |
File: gfortran.info, Node: ATAN, Next: ATAN2, Prev: ASSOCIATED, Up: Intrinsic Procedures |
-7.21 `ATAN' -- Arctangent function |
+8.21 `ATAN' -- Arctangent function |
================================== |
_Description_: |
`ATAN(X)' computes the arctangent of X. |
_Standard_: |
- Fortran 77 and later |
+ Fortran 77 and later, for a complex argument and for two arguments |
+ Fortran 2008 or later |
_Class_: |
Elemental function |
_Syntax_: |
- `RESULT = ATAN(X)' |
+ `RESULT = ATAN(X)' `RESULT = ATAN(Y, X)' |
_Arguments_: |
- X The type shall be `REAL'. |
+ X The type shall be `REAL' or `COMPLEX'; if Y is |
+ present, X shall be REAL. |
+ Y shall |
+ be of the |
+ same type |
+ and kind |
+ as X. |
_Return value_: |
- The return value is of type `REAL' and it lies in the range - \pi |
- / 2 \leq \atan (x) \leq \pi / 2. |
+ The return value is of the same type and kind as X. If Y is |
+ present, the result is identical to `ATAN2(Y,X)'. Otherwise, it |
+ the arcus tangent of X, where the real part of the result is in |
+ radians and lies in the range -\pi/2 \leq \Re \atan(x) \leq \pi/2. |
_Example_: |
program test_atan |
@@ -3711,12 +4463,14 @@ _See also_: |
File: gfortran.info, Node: ATAN2, Next: ATANH, Prev: ATAN, Up: Intrinsic Procedures |
-7.22 `ATAN2' -- Arctangent function |
+8.22 `ATAN2' -- Arctangent function |
=================================== |
_Description_: |
- `ATAN2(Y, X)' computes the arctangent of the complex number X + i |
- Y. |
+ `ATAN2(Y, X)' computes the principal value of the argument |
+ function of the complex number X + i Y. This function can be used |
+ to transform from carthesian into polar coordinates and allows to |
+ determine the angle in the correct quadrant. |
_Standard_: |
Fortran 77 and later |
@@ -3749,13 +4503,13 @@ _Example_: |
_Specific names_: |
Name Argument Return type Standard |
- `DATAN2(X)' `REAL(8) X' `REAL(8)' Fortran 77 and |
- later |
+ `DATAN2(X, `REAL(8) X', `REAL(8)' Fortran 77 and |
+ Y)' `REAL(8) Y' later |
File: gfortran.info, Node: ATANH, Next: BESSEL_J0, Prev: ATAN2, Up: Intrinsic Procedures |
-7.23 `ATANH' -- Hyperbolic arctangent function |
+8.23 `ATANH' -- Hyperbolic arctangent function |
============================================== |
_Description_: |
@@ -3775,7 +4529,9 @@ _Arguments_: |
X The type shall be `REAL' or `COMPLEX'. |
_Return value_: |
- The return value has same type and kind as X. |
+ The return value has same type and kind as X. If X is complex, the |
+ imaginary part of the result is in radians and lies between -\pi/2 |
+ \leq \Im \atanh(x) \leq \pi/2. |
_Example_: |
PROGRAM test_atanh |
@@ -3793,7 +4549,7 @@ _See also_: |
File: gfortran.info, Node: BESSEL_J0, Next: BESSEL_J1, Prev: ATANH, Up: Intrinsic Procedures |
-7.24 `BESSEL_J0' -- Bessel function of the first kind of order 0 |
+8.24 `BESSEL_J0' -- Bessel function of the first kind of order 0 |
================================================================ |
_Description_: |
@@ -3831,7 +4587,7 @@ _Specific names_: |
File: gfortran.info, Node: BESSEL_J1, Next: BESSEL_JN, Prev: BESSEL_J0, Up: Intrinsic Procedures |
-7.25 `BESSEL_J1' -- Bessel function of the first kind of order 1 |
+8.25 `BESSEL_J1' -- Bessel function of the first kind of order 1 |
================================================================ |
_Description_: |
@@ -3870,7 +4626,7 @@ _Specific names_: |
File: gfortran.info, Node: BESSEL_JN, Next: BESSEL_Y0, Prev: BESSEL_J1, Up: Intrinsic Procedures |
-7.26 `BESSEL_JN' -- Bessel function of the first kind |
+8.26 `BESSEL_JN' -- Bessel function of the first kind |
===================================================== |
_Description_: |
@@ -3906,13 +4662,14 @@ _Example_: |
_Specific names_: |
Name Argument Return type Standard |
- `DBESJN(X)' `INTEGER N' `REAL(8)' GNU extension |
+ `DBESJN(N, `INTEGER N' `REAL(8)' GNU extension |
+ X)' |
`REAL(8) X' |
File: gfortran.info, Node: BESSEL_Y0, Next: BESSEL_Y1, Prev: BESSEL_JN, Up: Intrinsic Procedures |
-7.27 `BESSEL_Y0' -- Bessel function of the second kind of order 0 |
+8.27 `BESSEL_Y0' -- Bessel function of the second kind of order 0 |
================================================================= |
_Description_: |
@@ -3950,7 +4707,7 @@ _Specific names_: |
File: gfortran.info, Node: BESSEL_Y1, Next: BESSEL_YN, Prev: BESSEL_Y0, Up: Intrinsic Procedures |
-7.28 `BESSEL_Y1' -- Bessel function of the second kind of order 1 |
+8.28 `BESSEL_Y1' -- Bessel function of the second kind of order 1 |
================================================================= |
_Description_: |
@@ -3988,7 +4745,7 @@ _Specific names_: |
File: gfortran.info, Node: BESSEL_YN, Next: BIT_SIZE, Prev: BESSEL_Y1, Up: Intrinsic Procedures |
-7.29 `BESSEL_YN' -- Bessel function of the second kind |
+8.29 `BESSEL_YN' -- Bessel function of the second kind |
====================================================== |
_Description_: |
@@ -4031,7 +4788,7 @@ _Specific names_: |
File: gfortran.info, Node: BIT_SIZE, Next: BTEST, Prev: BESSEL_YN, Up: Intrinsic Procedures |
-7.30 `BIT_SIZE' -- Bit size inquiry function |
+8.30 `BIT_SIZE' -- Bit size inquiry function |
============================================ |
_Description_: |
@@ -4065,7 +4822,7 @@ _Example_: |
File: gfortran.info, Node: BTEST, Next: C_ASSOCIATED, Prev: BIT_SIZE, Up: Intrinsic Procedures |
-7.31 `BTEST' -- Bit test function |
+8.31 `BTEST' -- Bit test function |
================================= |
_Description_: |
@@ -4102,7 +4859,7 @@ _Example_: |
File: gfortran.info, Node: C_ASSOCIATED, Next: C_F_POINTER, Prev: BTEST, Up: Intrinsic Procedures |
-7.32 `C_ASSOCIATED' -- Status of a C pointer |
+8.32 `C_ASSOCIATED' -- Status of a C pointer |
============================================ |
_Description_: |
@@ -4144,7 +4901,7 @@ _See also_: |
File: gfortran.info, Node: C_FUNLOC, Next: C_LOC, Prev: C_F_PROCPOINTER, Up: Intrinsic Procedures |
-7.33 `C_FUNLOC' -- Obtain the C address of a procedure |
+8.33 `C_FUNLOC' -- Obtain the C address of a procedure |
====================================================== |
_Description_: |
@@ -4197,16 +4954,13 @@ _See also_: |
File: gfortran.info, Node: C_F_PROCPOINTER, Next: C_FUNLOC, Prev: C_F_POINTER, Up: Intrinsic Procedures |
-7.34 `C_F_PROCPOINTER' -- Convert C into Fortran procedure pointer |
+8.34 `C_F_PROCPOINTER' -- Convert C into Fortran procedure pointer |
================================================================== |
_Description_: |
`C_F_PROCPOINTER(CPTR, FPTR)' Assign the target of the C function |
pointer CPTR to the Fortran procedure pointer FPTR. |
- Note: Due to the currently lacking support of procedure pointers |
- in GNU Fortran this function is not fully operable. |
- |
_Standard_: |
Fortran 2003 and later |
@@ -4251,7 +5005,7 @@ _See also_: |
File: gfortran.info, Node: C_F_POINTER, Next: C_F_PROCPOINTER, Prev: C_ASSOCIATED, Up: Intrinsic Procedures |
-7.35 `C_F_POINTER' -- Convert C into Fortran pointer |
+8.35 `C_F_POINTER' -- Convert C into Fortran pointer |
==================================================== |
_Description_: |
@@ -4298,7 +5052,7 @@ _See also_: |
File: gfortran.info, Node: C_LOC, Next: C_SIZEOF, Prev: C_FUNLOC, Up: Intrinsic Procedures |
-7.36 `C_LOC' -- Obtain the C address of an object |
+8.36 `C_LOC' -- Obtain the C address of an object |
================================================= |
_Description_: |
@@ -4339,7 +5093,7 @@ _See also_: |
File: gfortran.info, Node: C_SIZEOF, Next: CEILING, Prev: C_LOC, Up: Intrinsic Procedures |
-7.37 `C_SIZEOF' -- Size in bytes of an expression |
+8.37 `C_SIZEOF' -- Size in bytes of an expression |
================================================= |
_Description_: |
@@ -4383,7 +5137,7 @@ _See also_: |
File: gfortran.info, Node: CEILING, Next: CHAR, Prev: C_SIZEOF, Up: Intrinsic Procedures |
-7.38 `CEILING' -- Integer ceiling function |
+8.38 `CEILING' -- Integer ceiling function |
========================================== |
_Description_: |
@@ -4423,7 +5177,7 @@ _See also_: |
File: gfortran.info, Node: CHAR, Next: CHDIR, Prev: CEILING, Up: Intrinsic Procedures |
-7.39 `CHAR' -- Character conversion function |
+8.39 `CHAR' -- Character conversion function |
============================================ |
_Description_: |
@@ -4467,7 +5221,7 @@ _See also_: |
File: gfortran.info, Node: CHDIR, Next: CHMOD, Prev: CHAR, Up: Intrinsic Procedures |
-7.40 `CHDIR' -- Change working directory |
+8.40 `CHDIR' -- Change working directory |
======================================== |
_Description_: |
@@ -4510,7 +5264,7 @@ _See also_: |
File: gfortran.info, Node: CHMOD, Next: CMPLX, Prev: CHDIR, Up: Intrinsic Procedures |
-7.41 `CHMOD' -- Change access permissions of files |
+8.41 `CHMOD' -- Change access permissions of files |
================================================== |
_Description_: |
@@ -4566,7 +5320,7 @@ _Example_: |
File: gfortran.info, Node: CMPLX, Next: COMMAND_ARGUMENT_COUNT, Prev: CHMOD, Up: Intrinsic Procedures |
-7.42 `CMPLX' -- Complex conversion function |
+8.42 `CMPLX' -- Complex conversion function |
=========================================== |
_Description_: |
@@ -4614,7 +5368,7 @@ _See also_: |
File: gfortran.info, Node: COMMAND_ARGUMENT_COUNT, Next: COMPLEX, Prev: CMPLX, Up: Intrinsic Procedures |
-7.43 `COMMAND_ARGUMENT_COUNT' -- Get number of command line arguments |
+8.43 `COMMAND_ARGUMENT_COUNT' -- Get number of command line arguments |
===================================================================== |
_Description_: |
@@ -4634,7 +5388,7 @@ _Arguments_: |
None |
_Return value_: |
- The return value is of type `INTEGER(4)' |
+ The return value is an `INTEGER' of default kind. |
_Example_: |
program test_command_argument_count |
@@ -4649,7 +5403,7 @@ _See also_: |
File: gfortran.info, Node: COMPLEX, Next: CONJG, Prev: COMMAND_ARGUMENT_COUNT, Up: Intrinsic Procedures |
-7.44 `COMPLEX' -- Complex conversion function |
+8.44 `COMPLEX' -- Complex conversion function |
============================================= |
_Description_: |
@@ -4691,7 +5445,7 @@ _See also_: |
File: gfortran.info, Node: CONJG, Next: COS, Prev: COMPLEX, Up: Intrinsic Procedures |
-7.45 `CONJG' -- Complex conjugate function |
+8.45 `CONJG' -- Complex conjugate function |
========================================== |
_Description_: |
@@ -4731,7 +5485,7 @@ _Specific names_: |
File: gfortran.info, Node: COS, Next: COSH, Prev: CONJG, Up: Intrinsic Procedures |
-7.46 `COS' -- Cosine function |
+8.46 `COS' -- Cosine function |
============================= |
_Description_: |
@@ -4750,8 +5504,9 @@ _Arguments_: |
X The type shall be `REAL' or `COMPLEX'. |
_Return value_: |
- The return value is of type `REAL' and it lies in the range -1 |
- \leq \cos (x) \leq 1. The kind type parameter is the same as X. |
+ The return value is of the same type and kind as X. The real part |
+ of the result is in radians. If X is of the type `REAL', the |
+ return value lies in the range -1 \leq \cos (x) \leq 1. |
_Example_: |
program test_cos |
@@ -4777,14 +5532,14 @@ _See also_: |
File: gfortran.info, Node: COSH, Next: COUNT, Prev: COS, Up: Intrinsic Procedures |
-7.47 `COSH' -- Hyperbolic cosine function |
+8.47 `COSH' -- Hyperbolic cosine function |
========================================= |
_Description_: |
`COSH(X)' computes the hyperbolic cosine of X. |
_Standard_: |
- Fortran 77 and later |
+ Fortran 77 and later, for a complex argument Fortran 2008 or later |
_Class_: |
Elemental function |
@@ -4793,12 +5548,12 @@ _Syntax_: |
`X = COSH(X)' |
_Arguments_: |
- X The type shall be `REAL'. |
+ X The type shall be `REAL' or `COMPLEX'. |
_Return value_: |
- The return value is of type `REAL' and it is positive ( \cosh (x) |
- \geq 0 ). For a `REAL' argument X, \cosh (x) \geq 1 . The |
- return value is of the same kind as X. |
+ The return value has same type and kind as X. If X is complex, the |
+ imaginary part of the result is in radians. If X is `REAL', the |
+ return value has a lower bound of one, \cosh (x) \geq 1. |
_Example_: |
program test_cosh |
@@ -4818,14 +5573,15 @@ _See also_: |
File: gfortran.info, Node: COUNT, Next: CPU_TIME, Prev: COSH, Up: Intrinsic Procedures |
-7.48 `COUNT' -- Count function |
+8.48 `COUNT' -- Count function |
============================== |
_Description_: |
- `COUNT(MASK [, DIM [, KIND]])' counts the number of `.TRUE.' |
- elements of MASK along the dimension of DIM. If DIM is omitted it |
- is taken to be `1'. DIM is a scalar of type `INTEGER' in the |
- range of 1 /leq DIM /leq n) where n is the rank of MASK. |
+ Counts the number of `.TRUE.' elements in a logical MASK, or, if |
+ the DIM argument is supplied, counts the number of elements along |
+ each row of the array in the DIM direction. If the array has zero |
+ size, or all of the elements of MASK are `.FALSE.', then the |
+ result is `0'. |
_Standard_: |
Fortran 95 and later, with KIND argument Fortran 2003 and later |
@@ -4834,7 +5590,7 @@ _Class_: |
Transformational function |
_Syntax_: |
- `RESULT = COUNT(MASK [, DIM [, KIND]])' |
+ `RESULT = COUNT(MASK [, DIM, KIND])' |
_Arguments_: |
MASK The type shall be `LOGICAL'. |
@@ -4845,8 +5601,10 @@ _Arguments_: |
_Return value_: |
The return value is of type `INTEGER' and of kind KIND. If KIND is |
- absent, the return value is of default integer kind. The result |
- has a rank equal to that of MASK. |
+ absent, the return value is of default integer kind. If DIM is |
+ present, the result is an array with a rank one less than the rank |
+ of ARRAY, and a size corresponding to the shape of ARRAY with the |
+ DIM dimension removed. |
_Example_: |
program test_count |
@@ -4874,7 +5632,7 @@ _Example_: |
File: gfortran.info, Node: CPU_TIME, Next: CSHIFT, Prev: COUNT, Up: Intrinsic Procedures |
-7.49 `CPU_TIME' -- CPU elapsed time in seconds |
+8.49 `CPU_TIME' -- CPU elapsed time in seconds |
============================================== |
_Description_: |
@@ -4921,14 +5679,14 @@ _See also_: |
File: gfortran.info, Node: CSHIFT, Next: CTIME, Prev: CPU_TIME, Up: Intrinsic Procedures |
-7.50 `CSHIFT' -- Circular shift elements of an array |
+8.50 `CSHIFT' -- Circular shift elements of an array |
==================================================== |
_Description_: |
`CSHIFT(ARRAY, SHIFT [, DIM])' performs a circular shift on |
elements of ARRAY along the dimension of DIM. If DIM is omitted |
it is taken to be `1'. DIM is a scalar of type `INTEGER' in the |
- range of 1 /leq DIM /leq n) where n is the rank of ARRAY. If the |
+ range of 1 \leq DIM \leq n) where n is the rank of ARRAY. If the |
rank of ARRAY is one, then all elements of ARRAY are shifted by |
SHIFT places. If rank is greater than one, then all complete rank |
one sections of ARRAY along the given dimension are shifted. |
@@ -4969,7 +5727,7 @@ _Example_: |
File: gfortran.info, Node: CTIME, Next: DATE_AND_TIME, Prev: CSHIFT, Up: Intrinsic Procedures |
-7.51 `CTIME' -- Convert a time into a string |
+8.51 `CTIME' -- Convert a time into a string |
============================================ |
_Description_: |
@@ -5015,7 +5773,7 @@ _See Also_: |
File: gfortran.info, Node: DATE_AND_TIME, Next: DBLE, Prev: CTIME, Up: Intrinsic Procedures |
-7.52 `DATE_AND_TIME' -- Date and time subroutine |
+8.52 `DATE_AND_TIME' -- Date and time subroutine |
================================================ |
_Description_: |
@@ -5082,7 +5840,7 @@ _See also_: |
File: gfortran.info, Node: DBLE, Next: DCMPLX, Prev: DATE_AND_TIME, Up: Intrinsic Procedures |
-7.53 `DBLE' -- Double conversion function |
+8.53 `DBLE' -- Double conversion function |
========================================= |
_Description_: |
@@ -5118,7 +5876,7 @@ _See also_: |
File: gfortran.info, Node: DCMPLX, Next: DFLOAT, Prev: DBLE, Up: Intrinsic Procedures |
-7.54 `DCMPLX' -- Double complex conversion function |
+8.54 `DCMPLX' -- Double complex conversion function |
=================================================== |
_Description_: |
@@ -5161,7 +5919,7 @@ _Example_: |
File: gfortran.info, Node: DFLOAT, Next: DIGITS, Prev: DCMPLX, Up: Intrinsic Procedures |
-7.55 `DFLOAT' -- Double conversion function |
+8.55 `DFLOAT' -- Double conversion function |
=========================================== |
_Description_: |
@@ -5194,7 +5952,7 @@ _See also_: |
File: gfortran.info, Node: DIGITS, Next: DIM, Prev: DFLOAT, Up: Intrinsic Procedures |
-7.56 `DIGITS' -- Significant binary digits function |
+8.56 `DIGITS' -- Significant binary digits function |
=================================================== |
_Description_: |
@@ -5231,7 +5989,7 @@ _Example_: |
File: gfortran.info, Node: DIM, Next: DOT_PRODUCT, Prev: DIGITS, Up: Intrinsic Procedures |
-7.57 `DIM' -- Positive difference |
+8.57 `DIM' -- Positive difference |
================================= |
_Description_: |
@@ -5274,7 +6032,7 @@ _Specific names_: |
File: gfortran.info, Node: DOT_PRODUCT, Next: DPROD, Prev: DIM, Up: Intrinsic Procedures |
-7.58 `DOT_PRODUCT' -- Dot product function |
+8.58 `DOT_PRODUCT' -- Dot product function |
========================================== |
_Description_: |
@@ -5323,7 +6081,7 @@ _Example_: |
File: gfortran.info, Node: DPROD, Next: DREAL, Prev: DOT_PRODUCT, Up: Intrinsic Procedures |
-7.59 `DPROD' -- Double product function |
+8.59 `DPROD' -- Double product function |
======================================= |
_Description_: |
@@ -5357,7 +6115,7 @@ _Example_: |
File: gfortran.info, Node: DREAL, Next: DTIME, Prev: DPROD, Up: Intrinsic Procedures |
-7.60 `DREAL' -- Double real part function |
+8.60 `DREAL' -- Double real part function |
========================================= |
_Description_: |
@@ -5391,15 +6149,15 @@ _See also_: |
File: gfortran.info, Node: DTIME, Next: EOSHIFT, Prev: DREAL, Up: Intrinsic Procedures |
-7.61 `DTIME' -- Execution time subroutine (or function) |
+8.61 `DTIME' -- Execution time subroutine (or function) |
======================================================= |
_Description_: |
- `DTIME(TARRAY, RESULT)' initially returns the number of seconds of |
- runtime since the start of the process's execution in RESULT. |
- TARRAY returns the user and system components of this time in |
- `TARRAY(1)' and `TARRAY(2)' respectively. RESULT is equal to |
- `TARRAY(1) + TARRAY(2)'. |
+ `DTIME(VALUES, TIME)' initially returns the number of seconds of |
+ runtime since the start of the process's execution in TIME. VALUES |
+ returns the user and system components of this time in `VALUES(1)' |
+ and `VALUES(2)' respectively. TIME is equal to `VALUES(1) + |
+ VALUES(2)'. |
Subsequent invocations of `DTIME' return values accumulated since |
the previous invocation. |
@@ -5421,11 +6179,11 @@ _Description_: |
This intrinsic is provided in both subroutine and function forms; |
however, only one form can be used in any given program unit. |
- TARRAY and RESULT are `INTENT(OUT)' and provide the following: |
+ VALUES and TIME are `INTENT(OUT)' and provide the following: |
- `TARRAY(1)': User time in seconds. |
- `TARRAY(2)': System time in seconds. |
- `RESULT': Run time since start in |
+ `VALUES(1)': User time in seconds. |
+ `VALUES(2)': System time in seconds. |
+ `TIME': Run time since start in |
seconds. |
_Standard_: |
@@ -5435,12 +6193,12 @@ _Class_: |
Subroutine, function |
_Syntax_: |
- `CALL DTIME(TARRAY, RESULT)'. |
- `RESULT = DTIME(TARRAY)', (not recommended). |
+ `CALL DTIME(VALUES, TIME)'. |
+ `TIME = DTIME(VALUES)', (not recommended). |
_Arguments_: |
- TARRAY The type shall be `REAL, DIMENSION(2)'. |
- RESULT The type shall be `REAL'. |
+ VALUES The type shall be `REAL(4), DIMENSION(2)'. |
+ TIME The type shall be `REAL(4)'. |
_Return value_: |
Elapsed time in seconds since the last invocation or since the |
@@ -5471,14 +6229,14 @@ _See also_: |
File: gfortran.info, Node: EOSHIFT, Next: EPSILON, Prev: DTIME, Up: Intrinsic Procedures |
-7.62 `EOSHIFT' -- End-off shift elements of an array |
+8.62 `EOSHIFT' -- End-off shift elements of an array |
==================================================== |
_Description_: |
`EOSHIFT(ARRAY, SHIFT[, BOUNDARY, DIM])' performs an end-off shift |
on elements of ARRAY along the dimension of DIM. If DIM is |
omitted it is taken to be `1'. DIM is a scalar of type `INTEGER' |
- in the range of 1 /leq DIM /leq n) where n is the rank of ARRAY. |
+ in the range of 1 \leq DIM \leq n) where n is the rank of ARRAY. |
If the rank of ARRAY is one, then all elements of ARRAY are |
shifted by SHIFT places. If rank is greater than one, then all |
complete rank one sections of ARRAY along the given dimension are |
@@ -5529,7 +6287,7 @@ _Example_: |
File: gfortran.info, Node: EPSILON, Next: ERF, Prev: EOSHIFT, Up: Intrinsic Procedures |
-7.63 `EPSILON' -- Epsilon function |
+8.63 `EPSILON' -- Epsilon function |
================================== |
_Description_: |
@@ -5562,7 +6320,7 @@ _Example_: |
File: gfortran.info, Node: ERF, Next: ERFC, Prev: EPSILON, Up: Intrinsic Procedures |
-7.64 `ERF' -- Error function |
+8.64 `ERF' -- Error function |
============================ |
_Description_: |
@@ -5597,7 +6355,7 @@ _Specific names_: |
File: gfortran.info, Node: ERFC, Next: ERFC_SCALED, Prev: ERF, Up: Intrinsic Procedures |
-7.65 `ERFC' -- Error function |
+8.65 `ERFC' -- Error function |
============================= |
_Description_: |
@@ -5632,7 +6390,7 @@ _Specific names_: |
File: gfortran.info, Node: ERFC_SCALED, Next: ETIME, Prev: ERFC, Up: Intrinsic Procedures |
-7.66 `ERFC_SCALED' -- Error function |
+8.66 `ERFC_SCALED' -- Error function |
==================================== |
_Description_: |
@@ -5663,15 +6421,15 @@ _Example_: |
File: gfortran.info, Node: ETIME, Next: EXIT, Prev: ERFC_SCALED, Up: Intrinsic Procedures |
-7.67 `ETIME' -- Execution time subroutine (or function) |
+8.67 `ETIME' -- Execution time subroutine (or function) |
======================================================= |
_Description_: |
- `ETIME(TARRAY, RESULT)' returns the number of seconds of runtime |
- since the start of the process's execution in RESULT. TARRAY |
- returns the user and system components of this time in `TARRAY(1)' |
- and `TARRAY(2)' respectively. RESULT is equal to `TARRAY(1) + |
- TARRAY(2)'. |
+ `ETIME(VALUES, TIME)' returns the number of seconds of runtime |
+ since the start of the process's execution in TIME. VALUES |
+ returns the user and system components of this time in `VALUES(1)' |
+ and `VALUES(2)' respectively. TIME is equal to `VALUES(1) + |
+ VALUES(2)'. |
On some systems, the underlying timings are represented using |
types with sufficiently small limits that overflows (wrap around) |
@@ -5683,11 +6441,11 @@ _Description_: |
This intrinsic is provided in both subroutine and function forms; |
however, only one form can be used in any given program unit. |
- TARRAY and RESULT are `INTENT(OUT)' and provide the following: |
+ VALUES and TIME are `INTENT(OUT)' and provide the following: |
- `TARRAY(1)': User time in seconds. |
- `TARRAY(2)': System time in seconds. |
- `RESULT': Run time since start in seconds. |
+ `VALUES(1)': User time in seconds. |
+ `VALUES(2)': System time in seconds. |
+ `TIME': Run time since start in seconds. |
_Standard_: |
GNU extension |
@@ -5696,12 +6454,12 @@ _Class_: |
Subroutine, function |
_Syntax_: |
- `CALL ETIME(TARRAY, RESULT)'. |
- `RESULT = ETIME(TARRAY)', (not recommended). |
+ `CALL ETIME(VALUES, TIME)'. |
+ `TIME = ETIME(VALUES)', (not recommended). |
_Arguments_: |
- TARRAY The type shall be `REAL, DIMENSION(2)'. |
- RESULT The type shall be `REAL'. |
+ VALUES The type shall be `REAL(4), DIMENSION(2)'. |
+ TIME The type shall be `REAL(4)'. |
_Return value_: |
Elapsed time in seconds since the start of program execution. |
@@ -5731,7 +6489,7 @@ _See also_: |
File: gfortran.info, Node: EXIT, Next: EXP, Prev: ETIME, Up: Intrinsic Procedures |
-7.68 `EXIT' -- Exit the program with status. |
+8.68 `EXIT' -- Exit the program with status. |
============================================ |
_Description_: |
@@ -5767,7 +6525,7 @@ _See also_: |
File: gfortran.info, Node: EXP, Next: EXPONENT, Prev: EXIT, Up: Intrinsic Procedures |
-7.69 `EXP' -- Exponential function |
+8.69 `EXP' -- Exponential function |
================================== |
_Description_: |
@@ -5808,7 +6566,7 @@ _Specific names_: |
File: gfortran.info, Node: EXPONENT, Next: FDATE, Prev: EXP, Up: Intrinsic Procedures |
-7.70 `EXPONENT' -- Exponent function |
+8.70 `EXPONENT' -- Exponent function |
==================================== |
_Description_: |
@@ -5842,7 +6600,7 @@ _Example_: |
File: gfortran.info, Node: FDATE, Next: FGET, Prev: EXPONENT, Up: Intrinsic Procedures |
-7.71 `FDATE' -- Get the current time as a string |
+8.71 `FDATE' -- Get the current time as a string |
================================================ |
_Description_: |
@@ -5887,7 +6645,7 @@ _Example_: |
File: gfortran.info, Node: FLOAT, Next: FLOOR, Prev: FGETC, Up: Intrinsic Procedures |
-7.72 `FLOAT' -- Convert integer to default real |
+8.72 `FLOAT' -- Convert integer to default real |
=============================================== |
_Description_: |
@@ -5920,7 +6678,7 @@ _See also_: |
File: gfortran.info, Node: FGET, Next: FGETC, Prev: FDATE, Up: Intrinsic Procedures |
-7.73 `FGET' -- Read a single character in stream mode from stdin |
+8.73 `FGET' -- Read a single character in stream mode from stdin |
================================================================ |
_Description_: |
@@ -5975,7 +6733,7 @@ _See also_: |
File: gfortran.info, Node: FGETC, Next: FLOAT, Prev: FGET, Up: Intrinsic Procedures |
-7.74 `FGETC' -- Read a single character in stream mode |
+8.74 `FGETC' -- Read a single character in stream mode |
====================================================== |
_Description_: |
@@ -6030,7 +6788,7 @@ _See also_: |
File: gfortran.info, Node: FLOOR, Next: FLUSH, Prev: FLOAT, Up: Intrinsic Procedures |
-7.75 `FLOOR' -- Integer floor function |
+8.75 `FLOOR' -- Integer floor function |
====================================== |
_Description_: |
@@ -6070,7 +6828,7 @@ _See also_: |
File: gfortran.info, Node: FLUSH, Next: FNUM, Prev: FLOOR, Up: Intrinsic Procedures |
-7.76 `FLUSH' -- Flush I/O unit(s) |
+8.76 `FLUSH' -- Flush I/O unit(s) |
================================= |
_Description_: |
@@ -6098,7 +6856,7 @@ _Note_: |
File: gfortran.info, Node: FNUM, Next: FPUT, Prev: FLUSH, Up: Intrinsic Procedures |
-7.77 `FNUM' -- File number function |
+8.77 `FNUM' -- File number function |
=================================== |
_Description_: |
@@ -6132,7 +6890,7 @@ _Example_: |
File: gfortran.info, Node: FPUT, Next: FPUTC, Prev: FNUM, Up: Intrinsic Procedures |
-7.78 `FPUT' -- Write a single character in stream mode to stdout |
+8.78 `FPUT' -- Write a single character in stream mode to stdout |
================================================================ |
_Description_: |
@@ -6181,7 +6939,7 @@ _See also_: |
File: gfortran.info, Node: FPUTC, Next: FRACTION, Prev: FPUT, Up: Intrinsic Procedures |
-7.79 `FPUTC' -- Write a single character in stream mode |
+8.79 `FPUTC' -- Write a single character in stream mode |
======================================================= |
_Description_: |
@@ -6234,7 +6992,7 @@ _See also_: |
File: gfortran.info, Node: FRACTION, Next: FREE, Prev: FPUTC, Up: Intrinsic Procedures |
-7.80 `FRACTION' -- Fractional part of the model representation |
+8.80 `FRACTION' -- Fractional part of the model representation |
============================================================== |
_Description_: |
@@ -6269,7 +7027,7 @@ _Example_: |
File: gfortran.info, Node: FREE, Next: FSEEK, Prev: FRACTION, Up: Intrinsic Procedures |
-7.81 `FREE' -- Frees memory |
+8.81 `FREE' -- Frees memory |
=========================== |
_Description_: |
@@ -6305,7 +7063,7 @@ _See also_: |
File: gfortran.info, Node: FSEEK, Next: FSTAT, Prev: FREE, Up: Intrinsic Procedures |
-7.82 `FSEEK' -- Low level file positioning subroutine |
+8.82 `FSEEK' -- Low level file positioning subroutine |
===================================================== |
_Description_: |
@@ -6375,14 +7133,14 @@ _See also_: |
File: gfortran.info, Node: FSTAT, Next: FTELL, Prev: FSEEK, Up: Intrinsic Procedures |
-7.83 `FSTAT' -- Get file status |
+8.83 `FSTAT' -- Get file status |
=============================== |
_Description_: |
`FSTAT' is identical to *note STAT::, except that information |
about an already opened file is obtained. |
- The elements in `BUFF' are the same as described by *note STAT::. |
+ The elements in `VALUES' are the same as described by *note STAT::. |
This intrinsic is provided in both subroutine and function forms; |
however, only one form can be used in any given program unit. |
@@ -6394,11 +7152,11 @@ _Class_: |
Subroutine, function |
_Syntax_: |
- `CALL FSTAT(UNIT, BUFF [, STATUS])' |
+ `CALL FSTAT(UNIT, VALUES [, STATUS])' |
_Arguments_: |
UNIT An open I/O unit number of type `INTEGER'. |
- BUFF The type shall be `INTEGER(4), DIMENSION(13)'. |
+ VALUES The type shall be `INTEGER(4), DIMENSION(13)'. |
STATUS (Optional) status flag of type `INTEGER(4)'. |
Returns 0 on success and a system specific |
error code otherwise. |
@@ -6412,7 +7170,7 @@ _See also_: |
File: gfortran.info, Node: FTELL, Next: GAMMA, Prev: FSTAT, Up: Intrinsic Procedures |
-7.84 `FTELL' -- Current stream position |
+8.84 `FTELL' -- Current stream position |
======================================= |
_Description_: |
@@ -6453,7 +7211,7 @@ _See also_: |
File: gfortran.info, Node: GAMMA, Next: GERROR, Prev: FTELL, Up: Intrinsic Procedures |
-7.85 `GAMMA' -- Gamma function |
+8.85 `GAMMA' -- Gamma function |
============================== |
_Description_: |
@@ -6495,7 +7253,7 @@ _See also_: |
File: gfortran.info, Node: GERROR, Next: GETARG, Prev: GAMMA, Up: Intrinsic Procedures |
-7.86 `GERROR' -- Get last system error message |
+8.86 `GERROR' -- Get last system error message |
============================================== |
_Description_: |
@@ -6527,7 +7285,7 @@ _See also_: |
File: gfortran.info, Node: GETARG, Next: GET_COMMAND, Prev: GERROR, Up: Intrinsic Procedures |
-7.87 `GETARG' -- Get command line arguments |
+8.87 `GETARG' -- Get command line arguments |
=========================================== |
_Description_: |
@@ -6583,7 +7341,7 @@ _See also_: |
File: gfortran.info, Node: GET_COMMAND, Next: GET_COMMAND_ARGUMENT, Prev: GETARG, Up: Intrinsic Procedures |
-7.88 `GET_COMMAND' -- Get the entire command line |
+8.88 `GET_COMMAND' -- Get the entire command line |
================================================= |
_Description_: |
@@ -6597,16 +7355,23 @@ _Class_: |
Subroutine |
_Syntax_: |
- `CALL GET_COMMAND(COMMAND)' |
+ `CALL GET_COMMAND([COMMAND, LENGTH, STATUS])' |
_Arguments_: |
- COMMAND Shall be of type `CHARACTER' and of default |
- kind. |
+ COMMAND (Optional) shall be of type `CHARACTER' and of |
+ default kind. |
+ LENGTH (Optional) Shall be of type `INTEGER' and of |
+ default kind. |
+ STATUS (Optional) Shall be of type `INTEGER' and of |
+ default kind. |
_Return value_: |
- Stores the entire command line that was used to invoke the program |
- in COMMAND. If COMMAND is not large enough, the command will be |
- truncated. |
+ If COMMAND is present, stores the entire command line that was used |
+ to invoke the program in COMMAND. If LENGTH is present, it is |
+ assigned the length of the command line. If STATUS is present, it |
+ is assigned 0 upon success of the command, -1 if COMMAND is too |
+ short to store the command line, or a positive value in case of an |
+ error. |
_Example_: |
PROGRAM test_get_command |
@@ -6621,7 +7386,7 @@ _See also_: |
File: gfortran.info, Node: GET_COMMAND_ARGUMENT, Next: GETCWD, Prev: GET_COMMAND, Up: Intrinsic Procedures |
-7.89 `GET_COMMAND_ARGUMENT' -- Get command line arguments |
+8.89 `GET_COMMAND_ARGUMENT' -- Get command line arguments |
========================================================= |
_Description_: |
@@ -6638,14 +7403,14 @@ _Syntax_: |
`CALL GET_COMMAND_ARGUMENT(NUMBER [, VALUE, LENGTH, STATUS])' |
_Arguments_: |
- NUMBER Shall be a scalar of type `INTEGER(4)', NUMBER |
- \geq 0 |
+ NUMBER Shall be a scalar of type `INTEGER' and of |
+ default kind, NUMBER \geq 0 |
VALUE Shall be a scalar of type `CHARACTER' and of |
default kind. |
- LENGTH (Option) Shall be a scalar of type |
- `INTEGER(4)'. |
- STATUS (Option) Shall be a scalar of type |
- `INTEGER(4)'. |
+ LENGTH (Option) Shall be a scalar of type `INTEGER' |
+ and of default kind. |
+ STATUS (Option) Shall be a scalar of type `INTEGER' |
+ and of default kind. |
_Return value_: |
After `GET_COMMAND_ARGUMENT' returns, the VALUE argument holds the |
@@ -6680,7 +7445,7 @@ _See also_: |
File: gfortran.info, Node: GETCWD, Next: GETENV, Prev: GET_COMMAND_ARGUMENT, Up: Intrinsic Procedures |
-7.90 `GETCWD' -- Get current working directory |
+8.90 `GETCWD' -- Get current working directory |
============================================== |
_Description_: |
@@ -6718,7 +7483,7 @@ _See also_: |
File: gfortran.info, Node: GETENV, Next: GET_ENVIRONMENT_VARIABLE, Prev: GETCWD, Up: Intrinsic Procedures |
-7.91 `GETENV' -- Get an environmental variable |
+8.91 `GETENV' -- Get an environmental variable |
============================================== |
_Description_: |
@@ -6762,7 +7527,7 @@ _See also_: |
File: gfortran.info, Node: GET_ENVIRONMENT_VARIABLE, Next: GETGID, Prev: GETENV, Up: Intrinsic Procedures |
-7.92 `GET_ENVIRONMENT_VARIABLE' -- Get an environmental variable |
+8.92 `GET_ENVIRONMENT_VARIABLE' -- Get an environmental variable |
================================================================ |
_Description_: |
@@ -6779,11 +7544,16 @@ _Syntax_: |
TRIM_NAME)' |
_Arguments_: |
- NAME Shall be a scalar of type `CHARACTER(1)'. |
- VALUE Shall be a scalar of type `CHARACTER(1)'. |
- LENGTH Shall be a scalar of type `INTEGER(4)'. |
- STATUS Shall be a scalar of type `INTEGER(4)'. |
- TRIM_NAME Shall be a scalar of type `LOGICAL(4)'. |
+ NAME Shall be a scalar of type `CHARACTER' and of |
+ default kind. |
+ VALUE Shall be a scalar of type `CHARACTER' and of |
+ default kind. |
+ LENGTH Shall be a scalar of type `INTEGER' and of |
+ default kind. |
+ STATUS Shall be a scalar of type `INTEGER' and of |
+ default kind. |
+ TRIM_NAME Shall be a scalar of type `LOGICAL' and of |
+ default kind. |
_Return value_: |
Stores the value of NAME in VALUE. If VALUE is not large enough to |
@@ -6808,7 +7578,7 @@ _Example_: |
File: gfortran.info, Node: GETGID, Next: GETLOG, Prev: GET_ENVIRONMENT_VARIABLE, Up: Intrinsic Procedures |
-7.93 `GETGID' -- Group ID function |
+8.93 `GETGID' -- Group ID function |
================================== |
_Description_: |
@@ -6835,7 +7605,7 @@ _See also_: |
File: gfortran.info, Node: GETLOG, Next: GETPID, Prev: GETGID, Up: Intrinsic Procedures |
-7.94 `GETLOG' -- Get login name |
+8.94 `GETLOG' -- Get login name |
=============================== |
_Description_: |
@@ -6873,7 +7643,7 @@ _See also_: |
File: gfortran.info, Node: GETPID, Next: GETUID, Prev: GETLOG, Up: Intrinsic Procedures |
-7.95 `GETPID' -- Process ID function |
+8.95 `GETPID' -- Process ID function |
==================================== |
_Description_: |
@@ -6904,7 +7674,7 @@ _See also_: |
File: gfortran.info, Node: GETUID, Next: GMTIME, Prev: GETPID, Up: Intrinsic Procedures |
-7.96 `GETUID' -- User ID function |
+8.96 `GETUID' -- User ID function |
================================= |
_Description_: |
@@ -6931,7 +7701,7 @@ _See also_: |
File: gfortran.info, Node: GMTIME, Next: HOSTNM, Prev: GETUID, Up: Intrinsic Procedures |
-7.97 `GMTIME' -- Convert time to GMT info |
+8.97 `GMTIME' -- Convert time to GMT info |
========================================= |
_Description_: |
@@ -6985,7 +7755,7 @@ _See also_: |
File: gfortran.info, Node: HOSTNM, Next: HUGE, Prev: GMTIME, Up: Intrinsic Procedures |
-7.98 `HOSTNM' -- Get system host name |
+8.98 `HOSTNM' -- Get system host name |
===================================== |
_Description_: |
@@ -7019,7 +7789,7 @@ _Return value_: |
File: gfortran.info, Node: HUGE, Next: HYPOT, Prev: HOSTNM, Up: Intrinsic Procedures |
-7.99 `HUGE' -- Largest number of a kind |
+8.99 `HUGE' -- Largest number of a kind |
======================================= |
_Description_: |
@@ -7050,7 +7820,7 @@ _Example_: |
File: gfortran.info, Node: HYPOT, Next: IACHAR, Prev: HUGE, Up: Intrinsic Procedures |
-7.100 `HYPOT' -- Euclidean distance function |
+8.100 `HYPOT' -- Euclidean distance function |
============================================ |
_Description_: |
@@ -7083,7 +7853,7 @@ _Example_: |
File: gfortran.info, Node: IACHAR, Next: IAND, Prev: HYPOT, Up: Intrinsic Procedures |
-7.101 `IACHAR' -- Code in ASCII collating sequence |
+8.101 `IACHAR' -- Code in ASCII collating sequence |
================================================== |
_Description_: |
@@ -7127,7 +7897,7 @@ _See also_: |
File: gfortran.info, Node: IAND, Next: IARGC, Prev: IACHAR, Up: Intrinsic Procedures |
-7.102 `IAND' -- Bitwise logical and |
+8.102 `IAND' -- Bitwise logical and |
=================================== |
_Description_: |
@@ -7168,7 +7938,7 @@ _See also_: |
File: gfortran.info, Node: IARGC, Next: IBCLR, Prev: IAND, Up: Intrinsic Procedures |
-7.103 `IARGC' -- Get the number of command line arguments |
+8.103 `IARGC' -- Get the number of command line arguments |
========================================================= |
_Description_: |
@@ -7207,7 +7977,7 @@ _See also_: |
File: gfortran.info, Node: IBCLR, Next: IBITS, Prev: IARGC, Up: Intrinsic Procedures |
-7.104 `IBCLR' -- Clear bit |
+8.104 `IBCLR' -- Clear bit |
========================== |
_Description_: |
@@ -7238,7 +8008,7 @@ _See also_: |
File: gfortran.info, Node: IBITS, Next: IBSET, Prev: IBCLR, Up: Intrinsic Procedures |
-7.105 `IBITS' -- Bit extraction |
+8.105 `IBITS' -- Bit extraction |
=============================== |
_Description_: |
@@ -7271,7 +8041,7 @@ _See also_: |
File: gfortran.info, Node: IBSET, Next: ICHAR, Prev: IBITS, Up: Intrinsic Procedures |
-7.106 `IBSET' -- Set bit |
+8.106 `IBSET' -- Set bit |
======================== |
_Description_: |
@@ -7302,7 +8072,7 @@ _See also_: |
File: gfortran.info, Node: ICHAR, Next: IDATE, Prev: IBSET, Up: Intrinsic Procedures |
-7.107 `ICHAR' -- Character-to-integer conversion function |
+8.107 `ICHAR' -- Character-to-integer conversion function |
========================================================= |
_Description_: |
@@ -7364,13 +8134,13 @@ _See also_: |
File: gfortran.info, Node: IDATE, Next: IEOR, Prev: ICHAR, Up: Intrinsic Procedures |
-7.108 `IDATE' -- Get current local time subroutine (day/month/year) |
+8.108 `IDATE' -- Get current local time subroutine (day/month/year) |
=================================================================== |
_Description_: |
- `IDATE(TARRAY)' Fills TARRAY with the numerical values at the |
+ `IDATE(VALUES)' Fills VALUES with the numerical values at the |
current local time. The day (in the range 1-31), month (in the |
- range 1-12), and year appear in elements 1, 2, and 3 of TARRAY, |
+ range 1-12), and year appear in elements 1, 2, and 3 of VALUES, |
respectively. The year has four significant digits. |
_Standard_: |
@@ -7401,7 +8171,7 @@ _Example_: |
File: gfortran.info, Node: IEOR, Next: IERRNO, Prev: IDATE, Up: Intrinsic Procedures |
-7.109 `IEOR' -- Bitwise logical exclusive or |
+8.109 `IEOR' -- Bitwise logical exclusive or |
============================================ |
_Description_: |
@@ -7434,7 +8204,7 @@ _See also_: |
File: gfortran.info, Node: IERRNO, Next: INDEX intrinsic, Prev: IEOR, Up: Intrinsic Procedures |
-7.110 `IERRNO' -- Get the last system error number |
+8.110 `IERRNO' -- Get the last system error number |
================================================== |
_Description_: |
@@ -7463,7 +8233,7 @@ _See also_: |
File: gfortran.info, Node: INDEX intrinsic, Next: INT, Prev: IERRNO, Up: Intrinsic Procedures |
-7.111 `INDEX' -- Position of a substring within a string |
+8.111 `INDEX' -- Position of a substring within a string |
======================================================== |
_Description_: |
@@ -7503,7 +8273,7 @@ _See also_: |
File: gfortran.info, Node: INT, Next: INT2, Prev: INDEX intrinsic, Up: Intrinsic Procedures |
-7.112 `INT' -- Convert to integer type |
+8.112 `INT' -- Convert to integer type |
====================================== |
_Description_: |
@@ -7561,7 +8331,7 @@ _Specific names_: |
File: gfortran.info, Node: INT2, Next: INT8, Prev: INT, Up: Intrinsic Procedures |
-7.113 `INT2' -- Convert to 16-bit integer type |
+8.113 `INT2' -- Convert to 16-bit integer type |
============================================== |
_Description_: |
@@ -7593,7 +8363,7 @@ _See also_: |
File: gfortran.info, Node: INT8, Next: IOR, Prev: INT2, Up: Intrinsic Procedures |
-7.114 `INT8' -- Convert to 64-bit integer type |
+8.114 `INT8' -- Convert to 64-bit integer type |
============================================== |
_Description_: |
@@ -7623,7 +8393,7 @@ _See also_: |
File: gfortran.info, Node: IOR, Next: IRAND, Prev: INT8, Up: Intrinsic Procedures |
-7.115 `IOR' -- Bitwise logical or |
+8.115 `IOR' -- Bitwise logical or |
================================= |
_Description_: |
@@ -7656,7 +8426,7 @@ _See also_: |
File: gfortran.info, Node: IRAND, Next: IS_IOSTAT_END, Prev: IOR, Up: Intrinsic Procedures |
-7.116 `IRAND' -- Integer pseudo-random number |
+8.116 `IRAND' -- Integer pseudo-random number |
============================================= |
_Description_: |
@@ -7700,7 +8470,7 @@ _Example_: |
File: gfortran.info, Node: IS_IOSTAT_END, Next: IS_IOSTAT_EOR, Prev: IRAND, Up: Intrinsic Procedures |
-7.117 `IS_IOSTAT_END' -- Test for end-of-file value |
+8.117 `IS_IOSTAT_END' -- Test for end-of-file value |
=================================================== |
_Description_: |
@@ -7738,7 +8508,7 @@ _Example_: |
File: gfortran.info, Node: IS_IOSTAT_EOR, Next: ISATTY, Prev: IS_IOSTAT_END, Up: Intrinsic Procedures |
-7.118 `IS_IOSTAT_EOR' -- Test for end-of-record value |
+8.118 `IS_IOSTAT_EOR' -- Test for end-of-record value |
===================================================== |
_Description_: |
@@ -7776,7 +8546,7 @@ _Example_: |
File: gfortran.info, Node: ISATTY, Next: ISHFT, Prev: IS_IOSTAT_EOR, Up: Intrinsic Procedures |
-7.119 `ISATTY' -- Whether a unit is a terminal device. |
+8.119 `ISATTY' -- Whether a unit is a terminal device. |
====================================================== |
_Description_: |
@@ -7812,7 +8582,7 @@ _See also_: |
File: gfortran.info, Node: ISHFT, Next: ISHFTC, Prev: ISATTY, Up: Intrinsic Procedures |
-7.120 `ISHFT' -- Shift bits |
+8.120 `ISHFT' -- Shift bits |
=========================== |
_Description_: |
@@ -7846,7 +8616,7 @@ _See also_: |
File: gfortran.info, Node: ISHFTC, Next: ISNAN, Prev: ISHFT, Up: Intrinsic Procedures |
-7.121 `ISHFTC' -- Shift bits circularly |
+8.121 `ISHFTC' -- Shift bits circularly |
======================================= |
_Description_: |
@@ -7884,7 +8654,7 @@ _See also_: |
File: gfortran.info, Node: ISNAN, Next: ITIME, Prev: ISHFTC, Up: Intrinsic Procedures |
-7.122 `ISNAN' -- Test for a NaN |
+8.122 `ISNAN' -- Test for a NaN |
=============================== |
_Description_: |
@@ -7919,7 +8689,7 @@ _Example_: |
File: gfortran.info, Node: ITIME, Next: KILL, Prev: ISNAN, Up: Intrinsic Procedures |
-7.123 `ITIME' -- Get current local time subroutine (hour/minutes/seconds) |
+8.123 `ITIME' -- Get current local time subroutine (hour/minutes/seconds) |
========================================================================= |
_Description_: |
@@ -7956,7 +8726,7 @@ _Example_: |
File: gfortran.info, Node: KILL, Next: KIND, Prev: ITIME, Up: Intrinsic Procedures |
-7.124 `KILL' -- Send a signal to a process |
+8.124 `KILL' -- Send a signal to a process |
========================================== |
_Description_: |
@@ -7987,7 +8757,7 @@ _See also_: |
File: gfortran.info, Node: KIND, Next: LBOUND, Prev: KILL, Up: Intrinsic Procedures |
-7.125 `KIND' -- Kind of an entity |
+8.125 `KIND' -- Kind of an entity |
================================= |
_Description_: |
@@ -8023,7 +8793,7 @@ _Example_: |
File: gfortran.info, Node: LBOUND, Next: LEADZ, Prev: KIND, Up: Intrinsic Procedures |
-7.126 `LBOUND' -- Lower dimension bounds of an array |
+8.126 `LBOUND' -- Lower dimension bounds of an array |
==================================================== |
_Description_: |
@@ -8062,7 +8832,7 @@ _See also_: |
File: gfortran.info, Node: LEADZ, Next: LEN, Prev: LBOUND, Up: Intrinsic Procedures |
-7.127 `LEADZ' -- Number of leading zero bits of an integer |
+8.127 `LEADZ' -- Number of leading zero bits of an integer |
========================================================== |
_Description_: |
@@ -8095,7 +8865,7 @@ _See also_: |
File: gfortran.info, Node: LEN, Next: LEN_TRIM, Prev: LEADZ, Up: Intrinsic Procedures |
-7.128 `LEN' -- Length of a character entity |
+8.128 `LEN' -- Length of a character entity |
=========================================== |
_Description_: |
@@ -8128,9 +8898,9 @@ _See also_: |
*note LEN_TRIM::, *note ADJUSTL::, *note ADJUSTR:: |
-File: gfortran.info, Node: LEN_TRIM, Next: LOG_GAMMA, Prev: LEN, Up: Intrinsic Procedures |
+File: gfortran.info, Node: LEN_TRIM, Next: LGE, Prev: LEN, Up: Intrinsic Procedures |
-7.129 `LEN_TRIM' -- Length of a character entity without trailing blank characters |
+8.129 `LEN_TRIM' -- Length of a character entity without trailing blank characters |
================================================================================== |
_Description_: |
@@ -8161,9 +8931,9 @@ _See also_: |
*note LEN::, *note ADJUSTL::, *note ADJUSTR:: |
-File: gfortran.info, Node: LGE, Next: LGT, Prev: LOG_GAMMA, Up: Intrinsic Procedures |
+File: gfortran.info, Node: LGE, Next: LGT, Prev: LEN_TRIM, Up: Intrinsic Procedures |
-7.130 `LGE' -- Lexical greater than or equal |
+8.130 `LGE' -- Lexical greater than or equal |
============================================ |
_Description_: |
@@ -8202,7 +8972,7 @@ _See also_: |
File: gfortran.info, Node: LGT, Next: LINK, Prev: LGE, Up: Intrinsic Procedures |
-7.131 `LGT' -- Lexical greater than |
+8.131 `LGT' -- Lexical greater than |
=================================== |
_Description_: |
@@ -8241,7 +9011,7 @@ _See also_: |
File: gfortran.info, Node: LINK, Next: LLE, Prev: LGT, Up: Intrinsic Procedures |
-7.132 `LINK' -- Create a hard link |
+8.132 `LINK' -- Create a hard link |
================================== |
_Description_: |
@@ -8275,7 +9045,7 @@ _See also_: |
File: gfortran.info, Node: LLE, Next: LLT, Prev: LINK, Up: Intrinsic Procedures |
-7.133 `LLE' -- Lexical less than or equal |
+8.133 `LLE' -- Lexical less than or equal |
========================================= |
_Description_: |
@@ -8315,7 +9085,7 @@ _See also_: |
File: gfortran.info, Node: LLT, Next: LNBLNK, Prev: LLE, Up: Intrinsic Procedures |
-7.134 `LLT' -- Lexical less than |
+8.134 `LLT' -- Lexical less than |
================================ |
_Description_: |
@@ -8354,7 +9124,7 @@ _See also_: |
File: gfortran.info, Node: LNBLNK, Next: LOC, Prev: LLT, Up: Intrinsic Procedures |
-7.135 `LNBLNK' -- Index of the last non-blank character in a string |
+8.135 `LNBLNK' -- Index of the last non-blank character in a string |
=================================================================== |
_Description_: |
@@ -8384,7 +9154,7 @@ _See also_: |
File: gfortran.info, Node: LOC, Next: LOG, Prev: LNBLNK, Up: Intrinsic Procedures |
-7.136 `LOC' -- Returns the address of a variable |
+8.136 `LOC' -- Returns the address of a variable |
================================================ |
_Description_: |
@@ -8417,7 +9187,7 @@ _Example_: |
File: gfortran.info, Node: LOG, Next: LOG10, Prev: LOC, Up: Intrinsic Procedures |
-7.137 `LOG' -- Logarithm function |
+8.137 `LOG' -- Logarithm function |
================================= |
_Description_: |
@@ -8460,9 +9230,9 @@ _Specific names_: |
X' |
-File: gfortran.info, Node: LOG10, Next: LOGICAL, Prev: LOG, Up: Intrinsic Procedures |
+File: gfortran.info, Node: LOG10, Next: LOG_GAMMA, Prev: LOG, Up: Intrinsic Procedures |
-7.138 `LOG10' -- Base 10 logarithm function |
+8.138 `LOG10' -- Base 10 logarithm function |
=========================================== |
_Description_: |
@@ -8498,9 +9268,9 @@ _Specific names_: |
later |
-File: gfortran.info, Node: LOG_GAMMA, Next: LGE, Prev: LEN_TRIM, Up: Intrinsic Procedures |
+File: gfortran.info, Node: LOG_GAMMA, Next: LOGICAL, Prev: LOG10, Up: Intrinsic Procedures |
-7.139 `LOG_GAMMA' -- Logarithm of the Gamma function |
+8.139 `LOG_GAMMA' -- Logarithm of the Gamma function |
==================================================== |
_Description_: |
@@ -8540,9 +9310,9 @@ _See also_: |
-File: gfortran.info, Node: LOGICAL, Next: LONG, Prev: LOG10, Up: Intrinsic Procedures |
+File: gfortran.info, Node: LOGICAL, Next: LONG, Prev: LOG_GAMMA, Up: Intrinsic Procedures |
-7.140 `LOGICAL' -- Convert to logical type |
+8.140 `LOGICAL' -- Convert to logical type |
========================================== |
_Description_: |
@@ -8574,7 +9344,7 @@ _See also_: |
File: gfortran.info, Node: LONG, Next: LSHIFT, Prev: LOGICAL, Up: Intrinsic Procedures |
-7.141 `LONG' -- Convert to integer type |
+8.141 `LONG' -- Convert to integer type |
======================================= |
_Description_: |
@@ -8605,7 +9375,7 @@ _See also_: |
File: gfortran.info, Node: LSHIFT, Next: LSTAT, Prev: LONG, Up: Intrinsic Procedures |
-7.142 `LSHIFT' -- Left shift bits |
+8.142 `LSHIFT' -- Left shift bits |
================================= |
_Description_: |
@@ -8641,7 +9411,7 @@ _See also_: |
File: gfortran.info, Node: LSTAT, Next: LTIME, Prev: LSHIFT, Up: Intrinsic Procedures |
-7.143 `LSTAT' -- Get file status |
+8.143 `LSTAT' -- Get file status |
================================ |
_Description_: |
@@ -8649,7 +9419,7 @@ _Description_: |
symbolic link, then the link itself is statted, not the file that |
it refers to. |
- The elements in `BUFF' are the same as described by *note STAT::. |
+ The elements in `VALUES' are the same as described by *note STAT::. |
This intrinsic is provided in both subroutine and function forms; |
however, only one form can be used in any given program unit. |
@@ -8661,12 +9431,12 @@ _Class_: |
Subroutine, function |
_Syntax_: |
- `CALL LSTAT(FILE, BUFF [, STATUS])' |
+ `CALL LSTAT(NAME, VALUES [, STATUS])' |
_Arguments_: |
- FILE The type shall be `CHARACTER' of the default |
+ NAME The type shall be `CHARACTER' of the default |
kind, a valid path within the file system. |
- BUFF The type shall be `INTEGER(4), DIMENSION(13)'. |
+ VALUES The type shall be `INTEGER(4), DIMENSION(13)'. |
STATUS (Optional) status flag of type `INTEGER(4)'. |
Returns 0 on success and a system specific |
error code otherwise. |
@@ -8680,12 +9450,12 @@ _See also_: |
File: gfortran.info, Node: LTIME, Next: MALLOC, Prev: LSTAT, Up: Intrinsic Procedures |
-7.144 `LTIME' -- Convert time to local time info |
+8.144 `LTIME' -- Convert time to local time info |
================================================ |
_Description_: |
- Given a system time value STIME (as provided by the `TIME8()' |
- intrinsic), fills TARRAY with values extracted from it appropriate |
+ Given a system time value TIME (as provided by the `TIME8()' |
+ intrinsic), fills VALUES with values extracted from it appropriate |
to the local time zone using `localtime(3)'. |
_Standard_: |
@@ -8695,16 +9465,16 @@ _Class_: |
Subroutine |
_Syntax_: |
- `CALL LTIME(STIME, TARRAY)' |
+ `CALL LTIME(TIME, VALUES)' |
_Arguments_: |
- STIME An `INTEGER' scalar expression corresponding |
+ TIME An `INTEGER' scalar expression corresponding |
to a system time, with `INTENT(IN)'. |
- TARRAY A default `INTEGER' array with 9 elements, |
+ VALUES A default `INTEGER' array with 9 elements, |
with `INTENT(OUT)'. |
_Return value_: |
- The elements of TARRAY are assigned as follows: |
+ The elements of VALUES are assigned as follows: |
1. Seconds after the minute, range 0-59 or 0-61 to allow for leap |
seconds |
@@ -8733,7 +9503,7 @@ _See also_: |
File: gfortran.info, Node: MALLOC, Next: MATMUL, Prev: LTIME, Up: Intrinsic Procedures |
-7.145 `MALLOC' -- Allocate dynamic memory |
+8.145 `MALLOC' -- Allocate dynamic memory |
========================================= |
_Description_: |
@@ -8789,7 +9559,7 @@ _See also_: |
File: gfortran.info, Node: MATMUL, Next: MAX, Prev: MALLOC, Up: Intrinsic Procedures |
-7.146 `MATMUL' -- matrix multiplication |
+8.146 `MATMUL' -- matrix multiplication |
======================================= |
_Description_: |
@@ -8824,7 +9594,7 @@ _See also_: |
File: gfortran.info, Node: MAX, Next: MAXEXPONENT, Prev: MATMUL, Up: Intrinsic Procedures |
-7.147 `MAX' -- Maximum value of an argument list |
+8.147 `MAX' -- Maximum value of an argument list |
================================================ |
_Description_: |
@@ -8869,7 +9639,7 @@ _See also_: |
File: gfortran.info, Node: MAXEXPONENT, Next: MAXLOC, Prev: MAX, Up: Intrinsic Procedures |
-7.148 `MAXEXPONENT' -- Maximum exponent of a real kind |
+8.148 `MAXEXPONENT' -- Maximum exponent of a real kind |
====================================================== |
_Description_: |
@@ -8904,7 +9674,7 @@ _Example_: |
File: gfortran.info, Node: MAXLOC, Next: MAXVAL, Prev: MAXEXPONENT, Up: Intrinsic Procedures |
-7.149 `MAXLOC' -- Location of the maximum value within an array |
+8.149 `MAXLOC' -- Location of the maximum value within an array |
=============================================================== |
_Description_: |
@@ -8931,8 +9701,7 @@ _Syntax_: |
`RESULT = MAXLOC(ARRAY [, MASK])' |
_Arguments_: |
- ARRAY Shall be an array of type `INTEGER', `REAL', |
- or `CHARACTER'. |
+ ARRAY Shall be an array of type `INTEGER' or `REAL'. |
DIM (Optional) Shall be a scalar of type |
`INTEGER', with a value between one and the |
rank of ARRAY, inclusive. It may not be an |
@@ -8955,7 +9724,7 @@ _See also_: |
File: gfortran.info, Node: MAXVAL, Next: MCLOCK, Prev: MAXLOC, Up: Intrinsic Procedures |
-7.150 `MAXVAL' -- Maximum value of an array |
+8.150 `MAXVAL' -- Maximum value of an array |
=========================================== |
_Description_: |
@@ -8978,8 +9747,7 @@ _Syntax_: |
`RESULT = MAXVAL(ARRAY [, MASK])' |
_Arguments_: |
- ARRAY Shall be an array of type `INTEGER', `REAL', |
- or `CHARACTER'. |
+ ARRAY Shall be an array of type `INTEGER' or `REAL'. |
DIM (Optional) Shall be a scalar of type |
`INTEGER', with a value between one and the |
rank of ARRAY, inclusive. It may not be an |
@@ -9000,7 +9768,7 @@ _See also_: |
File: gfortran.info, Node: MCLOCK, Next: MCLOCK8, Prev: MAXVAL, Up: Intrinsic Procedures |
-7.151 `MCLOCK' -- Time function |
+8.151 `MCLOCK' -- Time function |
=============================== |
_Description_: |
@@ -9035,7 +9803,7 @@ _See also_: |
File: gfortran.info, Node: MCLOCK8, Next: MERGE, Prev: MCLOCK, Up: Intrinsic Procedures |
-7.152 `MCLOCK8' -- Time function (64-bit) |
+8.152 `MCLOCK8' -- Time function (64-bit) |
========================================= |
_Description_: |
@@ -9073,7 +9841,7 @@ _See also_: |
File: gfortran.info, Node: MERGE, Next: MIN, Prev: MCLOCK8, Up: Intrinsic Procedures |
-7.153 `MERGE' -- Merge variables |
+8.153 `MERGE' -- Merge variables |
================================ |
_Description_: |
@@ -9103,7 +9871,7 @@ _Return value_: |
File: gfortran.info, Node: MIN, Next: MINEXPONENT, Prev: MERGE, Up: Intrinsic Procedures |
-7.154 `MIN' -- Minimum value of an argument list |
+8.154 `MIN' -- Minimum value of an argument list |
================================================ |
_Description_: |
@@ -9147,7 +9915,7 @@ _See also_: |
File: gfortran.info, Node: MINEXPONENT, Next: MINLOC, Prev: MIN, Up: Intrinsic Procedures |
-7.155 `MINEXPONENT' -- Minimum exponent of a real kind |
+8.155 `MINEXPONENT' -- Minimum exponent of a real kind |
====================================================== |
_Description_: |
@@ -9176,7 +9944,7 @@ _Example_: |
File: gfortran.info, Node: MINLOC, Next: MINVAL, Prev: MINEXPONENT, Up: Intrinsic Procedures |
-7.156 `MINLOC' -- Location of the minimum value within an array |
+8.156 `MINLOC' -- Location of the minimum value within an array |
=============================================================== |
_Description_: |
@@ -9203,8 +9971,7 @@ _Syntax_: |
`RESULT = MINLOC(ARRAY [, MASK])' |
_Arguments_: |
- ARRAY Shall be an array of type `INTEGER', `REAL', |
- or `CHARACTER'. |
+ ARRAY Shall be an array of type `INTEGER' or `REAL'. |
DIM (Optional) Shall be a scalar of type |
`INTEGER', with a value between one and the |
rank of ARRAY, inclusive. It may not be an |
@@ -9227,7 +9994,7 @@ _See also_: |
File: gfortran.info, Node: MINVAL, Next: MOD, Prev: MINLOC, Up: Intrinsic Procedures |
-7.157 `MINVAL' -- Minimum value of an array |
+8.157 `MINVAL' -- Minimum value of an array |
=========================================== |
_Description_: |
@@ -9251,8 +10018,7 @@ _Syntax_: |
`RESULT = MINVAL(ARRAY [, MASK])' |
_Arguments_: |
- ARRAY Shall be an array of type `INTEGER', `REAL', |
- or `CHARACTER'. |
+ ARRAY Shall be an array of type `INTEGER' or `REAL'. |
DIM (Optional) Shall be a scalar of type |
`INTEGER', with a value between one and the |
rank of ARRAY, inclusive. It may not be an |
@@ -9274,7 +10040,7 @@ _See also_: |
File: gfortran.info, Node: MOD, Next: MODULO, Prev: MINVAL, Up: Intrinsic Procedures |
-7.158 `MOD' -- Remainder function |
+8.158 `MOD' -- Remainder function |
================================= |
_Description_: |
@@ -9327,7 +10093,7 @@ _Specific names_: |
File: gfortran.info, Node: MODULO, Next: MOVE_ALLOC, Prev: MOD, Up: Intrinsic Procedures |
-7.159 `MODULO' -- Modulo function |
+8.159 `MODULO' -- Modulo function |
================================= |
_Description_: |
@@ -9373,12 +10139,12 @@ _Example_: |
File: gfortran.info, Node: MOVE_ALLOC, Next: MVBITS, Prev: MODULO, Up: Intrinsic Procedures |
-7.160 `MOVE_ALLOC' -- Move allocation from one object to another |
+8.160 `MOVE_ALLOC' -- Move allocation from one object to another |
================================================================ |
_Description_: |
- `MOVE_ALLOC(SRC, DEST)' moves the allocation from SRC to DEST. |
- SRC will become deallocated in the process. |
+ `MOVE_ALLOC(FROM, TO)' moves the allocation from FROM to TO. FROM |
+ will become deallocated in the process. |
_Standard_: |
Fortran 2003 and later |
@@ -9387,13 +10153,13 @@ _Class_: |
Subroutine |
_Syntax_: |
- `CALL MOVE_ALLOC(SRC, DEST)' |
+ `CALL MOVE_ALLOC(FROM, TO)' |
_Arguments_: |
- SRC `ALLOCATABLE', `INTENT(INOUT)', may be of any |
+ FROM `ALLOCATABLE', `INTENT(INOUT)', may be of any |
type and kind. |
- DEST `ALLOCATABLE', `INTENT(OUT)', shall be of the |
- same type, kind and rank as SRC. |
+ TO `ALLOCATABLE', `INTENT(OUT)', shall be of the |
+ same type, kind and rank as FROM. |
_Return value_: |
None |
@@ -9412,7 +10178,7 @@ _Example_: |
File: gfortran.info, Node: MVBITS, Next: NEAREST, Prev: MOVE_ALLOC, Up: Intrinsic Procedures |
-7.161 `MVBITS' -- Move bits from one integer to another |
+8.161 `MVBITS' -- Move bits from one integer to another |
======================================================= |
_Description_: |
@@ -9446,7 +10212,7 @@ _See also_: |
File: gfortran.info, Node: NEAREST, Next: NEW_LINE, Prev: MVBITS, Up: Intrinsic Procedures |
-7.162 `NEAREST' -- Nearest representable number |
+8.162 `NEAREST' -- Nearest representable number |
=============================================== |
_Description_: |
@@ -9484,7 +10250,7 @@ _Example_: |
File: gfortran.info, Node: NEW_LINE, Next: NINT, Prev: NEAREST, Up: Intrinsic Procedures |
-7.163 `NEW_LINE' -- New line character |
+8.163 `NEW_LINE' -- New line character |
====================================== |
_Description_: |
@@ -9516,11 +10282,11 @@ _Example_: |
File: gfortran.info, Node: NINT, Next: NOT, Prev: NEW_LINE, Up: Intrinsic Procedures |
-7.164 `NINT' -- Nearest whole number |
+8.164 `NINT' -- Nearest whole number |
==================================== |
_Description_: |
- `NINT(X)' rounds its argument to the nearest whole number. |
+ `NINT(A)' rounds its argument to the nearest whole number. |
_Standard_: |
Fortran 77 and later, with KIND argument Fortran 90 and later |
@@ -9529,10 +10295,10 @@ _Class_: |
Elemental function |
_Syntax_: |
- `RESULT = NINT(X [, KIND])' |
+ `RESULT = NINT(A [, KIND])' |
_Arguments_: |
- X The type of the argument shall be `REAL'. |
+ A The type of the argument shall be `REAL'. |
KIND (Optional) An `INTEGER' initialization |
expression indicating the kind parameter of |
the result. |
@@ -9563,7 +10329,7 @@ _See also_: |
File: gfortran.info, Node: NOT, Next: NULL, Prev: NINT, Up: Intrinsic Procedures |
-7.165 `NOT' -- Logical negation |
+8.165 `NOT' -- Logical negation |
=============================== |
_Description_: |
@@ -9592,7 +10358,7 @@ _See also_: |
File: gfortran.info, Node: NULL, Next: OR, Prev: NOT, Up: Intrinsic Procedures |
-7.166 `NULL' -- Function that returns an disassociated pointer |
+8.166 `NULL' -- Function that returns an disassociated pointer |
============================================================== |
_Description_: |
@@ -9629,7 +10395,7 @@ _See also_: |
File: gfortran.info, Node: OR, Next: PACK, Prev: NULL, Up: Intrinsic Procedures |
-7.167 `OR' -- Bitwise logical OR |
+8.167 `OR' -- Bitwise logical OR |
================================ |
_Description_: |
@@ -9647,12 +10413,12 @@ _Class_: |
Function |
_Syntax_: |
- `RESULT = OR(X, Y)' |
+ `RESULT = OR(I, J)' |
_Arguments_: |
- X The type shall be either a scalar `INTEGER' |
+ I The type shall be either a scalar `INTEGER' |
type or a scalar `LOGICAL' type. |
- Y The type shall be the same as the type of X. |
+ J The type shall be the same as the type of J. |
_Return value_: |
The return type is either a scalar `INTEGER' or a scalar |
@@ -9676,7 +10442,7 @@ _See also_: |
File: gfortran.info, Node: PACK, Next: PERROR, Prev: OR, Up: Intrinsic Procedures |
-7.168 `PACK' -- Pack an array into an array of rank one |
+8.168 `PACK' -- Pack an array into an array of rank one |
======================================================= |
_Description_: |
@@ -9735,7 +10501,7 @@ _See also_: |
File: gfortran.info, Node: PERROR, Next: PRECISION, Prev: PACK, Up: Intrinsic Procedures |
-7.169 `PERROR' -- Print system error message |
+8.169 `PERROR' -- Print system error message |
============================================ |
_Description_: |
@@ -9762,7 +10528,7 @@ _See also_: |
File: gfortran.info, Node: PRECISION, Next: PRESENT, Prev: PERROR, Up: Intrinsic Procedures |
-7.170 `PRECISION' -- Decimal precision of a real kind |
+8.170 `PRECISION' -- Decimal precision of a real kind |
===================================================== |
_Description_: |
@@ -9797,7 +10563,7 @@ _Example_: |
File: gfortran.info, Node: PRESENT, Next: PRODUCT, Prev: PRECISION, Up: Intrinsic Procedures |
-7.171 `PRESENT' -- Determine whether an optional dummy argument is specified |
+8.171 `PRESENT' -- Determine whether an optional dummy argument is specified |
============================================================================ |
_Description_: |
@@ -9836,7 +10602,7 @@ _Example_: |
File: gfortran.info, Node: PRODUCT, Next: RADIX, Prev: PRESENT, Up: Intrinsic Procedures |
-7.172 `PRODUCT' -- Product of array elements |
+8.172 `PRODUCT' -- Product of array elements |
============================================ |
_Description_: |
@@ -9850,8 +10616,8 @@ _Class_: |
Transformational function |
_Syntax_: |
- `RESULT = PRODUCT(ARRAY[, MASK])' `RESULT = PRODUCT(ARRAY, DIM[, |
- MASK])' |
+ `RESULT = PRODUCT(ARRAY[, MASK])' |
+ `RESULT = PRODUCT(ARRAY, DIM[, MASK])' |
_Arguments_: |
ARRAY Shall be an array of type `INTEGER', `REAL' or |
@@ -9884,7 +10650,7 @@ _See also_: |
File: gfortran.info, Node: RADIX, Next: RANDOM_NUMBER, Prev: PRODUCT, Up: Intrinsic Procedures |
-7.173 `RADIX' -- Base of a model number |
+8.173 `RADIX' -- Base of a model number |
======================================= |
_Description_: |
@@ -9916,7 +10682,7 @@ _Example_: |
File: gfortran.info, Node: RAN, Next: REAL, Prev: RANGE, Up: Intrinsic Procedures |
-7.174 `RAN' -- Real pseudo-random number |
+8.174 `RAN' -- Real pseudo-random number |
======================================== |
_Description_: |
@@ -9936,7 +10702,7 @@ _See also_: |
File: gfortran.info, Node: RAND, Next: RANGE, Prev: RANDOM_SEED, Up: Intrinsic Procedures |
-7.175 `RAND' -- Real pseudo-random number |
+8.175 `RAND' -- Real pseudo-random number |
========================================= |
_Description_: |
@@ -9958,10 +10724,10 @@ _Class_: |
Function |
_Syntax_: |
- `RESULT = RAND(FLAG)' |
+ `RESULT = RAND(I)' |
_Arguments_: |
- FLAG Shall be a scalar `INTEGER' of kind 4. |
+ I Shall be a scalar `INTEGER' of kind 4. |
_Return value_: |
The return value is of `REAL' type and the default kind. |
@@ -9982,7 +10748,7 @@ _See also_: |
File: gfortran.info, Node: RANDOM_NUMBER, Next: RANDOM_SEED, Prev: RADIX, Up: Intrinsic Procedures |
-7.176 `RANDOM_NUMBER' -- Pseudo-random number |
+8.176 `RANDOM_NUMBER' -- Pseudo-random number |
============================================= |
_Description_: |
@@ -10033,7 +10799,7 @@ _See also_: |
File: gfortran.info, Node: RANDOM_SEED, Next: RAND, Prev: RANDOM_NUMBER, Up: Intrinsic Procedures |
-7.177 `RANDOM_SEED' -- Initialize a pseudo-random number sequence |
+8.177 `RANDOM_SEED' -- Initialize a pseudo-random number sequence |
================================================================= |
_Description_: |
@@ -10051,7 +10817,7 @@ _Class_: |
Subroutine |
_Syntax_: |
- `CALL RANDOM_SEED(SIZE, PUT, GET)' |
+ `CALL RANDOM_SEED([SIZE, PUT, GET])' |
_Arguments_: |
SIZE (Optional) Shall be a scalar and of type |
@@ -10091,7 +10857,7 @@ _See also_: |
File: gfortran.info, Node: RANGE, Next: RAN, Prev: RAND, Up: Intrinsic Procedures |
-7.178 `RANGE' -- Decimal exponent range |
+8.178 `RANGE' -- Decimal exponent range |
======================================= |
_Description_: |
@@ -10121,13 +10887,13 @@ _Example_: |
File: gfortran.info, Node: REAL, Next: RENAME, Prev: RAN, Up: Intrinsic Procedures |
-7.179 `REAL' -- Convert to real type |
+8.179 `REAL' -- Convert to real type |
==================================== |
_Description_: |
- `REAL(X [, KIND])' converts its argument X to a real type. The |
- `REALPART(X)' function is provided for compatibility with `g77', |
- and its use is strongly discouraged. |
+ `REAL(A [, KIND])' converts its argument A to a real type. The |
+ `REALPART' function is provided for compatibility with `g77', and |
+ its use is strongly discouraged. |
_Standard_: |
Fortran 77 and later |
@@ -10136,11 +10902,11 @@ _Class_: |
Elemental function |
_Syntax_: |
- `RESULT = REAL(X [, KIND])' |
+ `RESULT = REAL(A [, KIND])' |
`RESULT = REALPART(Z)' |
_Arguments_: |
- X Shall be `INTEGER', `REAL', or `COMPLEX'. |
+ A Shall be `INTEGER', `REAL', or `COMPLEX'. |
KIND (Optional) An `INTEGER' initialization |
expression indicating the kind parameter of |
the result. |
@@ -10150,16 +10916,16 @@ _Return value_: |
following rules: |
(A) |
- `REAL(X)' is converted to a default real type if X is an |
+ `REAL(A)' is converted to a default real type if A is an |
integer or real variable. |
(B) |
- `REAL(X)' is converted to a real type with the kind type |
- parameter of X if X is a complex variable. |
+ `REAL(A)' is converted to a real type with the kind type |
+ parameter of A if A is a complex variable. |
(C) |
- `REAL(X, KIND)' is converted to a real type with kind type |
- parameter KIND if X is a complex, integer, or real variable. |
+ `REAL(A, KIND)' is converted to a real type with kind type |
+ parameter KIND if A is a complex, integer, or real variable. |
_Example_: |
program test_real |
@@ -10174,7 +10940,7 @@ _See also_: |
File: gfortran.info, Node: RENAME, Next: REPEAT, Prev: REAL, Up: Intrinsic Procedures |
-7.180 `RENAME' -- Rename a file |
+8.180 `RENAME' -- Rename a file |
=============================== |
_Description_: |
@@ -10209,7 +10975,7 @@ _See also_: |
File: gfortran.info, Node: REPEAT, Next: RESHAPE, Prev: RENAME, Up: Intrinsic Procedures |
-7.181 `REPEAT' -- Repeated string concatenation |
+8.181 `REPEAT' -- Repeated string concatenation |
=============================================== |
_Description_: |
@@ -10240,7 +11006,7 @@ _Example_: |
File: gfortran.info, Node: RESHAPE, Next: RRSPACING, Prev: REPEAT, Up: Intrinsic Procedures |
-7.182 `RESHAPE' -- Function to reshape an array |
+8.182 `RESHAPE' -- Function to reshape an array |
=============================================== |
_Description_: |
@@ -10286,7 +11052,7 @@ _See also_: |
File: gfortran.info, Node: RRSPACING, Next: RSHIFT, Prev: RESHAPE, Up: Intrinsic Procedures |
-7.183 `RRSPACING' -- Reciprocal of the relative spacing |
+8.183 `RRSPACING' -- Reciprocal of the relative spacing |
======================================================= |
_Description_: |
@@ -10316,7 +11082,7 @@ _See also_: |
File: gfortran.info, Node: RSHIFT, Next: SCALE, Prev: RRSPACING, Up: Intrinsic Procedures |
-7.184 `RSHIFT' -- Right shift bits |
+8.184 `RSHIFT' -- Right shift bits |
================================== |
_Description_: |
@@ -10352,7 +11118,7 @@ _See also_: |
File: gfortran.info, Node: SCALE, Next: SCAN, Prev: RSHIFT, Up: Intrinsic Procedures |
-7.185 `SCALE' -- Scale a real value |
+8.185 `SCALE' -- Scale a real value |
=================================== |
_Description_: |
@@ -10386,7 +11152,7 @@ _Example_: |
File: gfortran.info, Node: SCAN, Next: SECNDS, Prev: SCALE, Up: Intrinsic Procedures |
-7.186 `SCAN' -- Scan a string for the presence of a set of characters |
+8.186 `SCAN' -- Scan a string for the presence of a set of characters |
===================================================================== |
_Description_: |
@@ -10431,7 +11197,7 @@ _See also_: |
File: gfortran.info, Node: SECNDS, Next: SECOND, Prev: SCAN, Up: Intrinsic Procedures |
-7.187 `SECNDS' -- Time function |
+8.187 `SECNDS' -- Time function |
=============================== |
_Description_: |
@@ -10471,7 +11237,7 @@ _Example_: |
File: gfortran.info, Node: SECOND, Next: SELECTED_CHAR_KIND, Prev: SECNDS, Up: Intrinsic Procedures |
-7.188 `SECOND' -- CPU time function |
+8.188 `SECOND' -- CPU time function |
=================================== |
_Description_: |
@@ -10507,7 +11273,7 @@ _See also_: |
File: gfortran.info, Node: SELECTED_CHAR_KIND, Next: SELECTED_INT_KIND, Prev: SECOND, Up: Intrinsic Procedures |
-7.189 `SELECTED_CHAR_KIND' -- Choose character kind |
+8.189 `SELECTED_CHAR_KIND' -- Choose character kind |
=================================================== |
_Description_: |
@@ -10541,13 +11307,13 @@ _Example_: |
File: gfortran.info, Node: SELECTED_INT_KIND, Next: SELECTED_REAL_KIND, Prev: SELECTED_CHAR_KIND, Up: Intrinsic Procedures |
-7.190 `SELECTED_INT_KIND' -- Choose integer kind |
+8.190 `SELECTED_INT_KIND' -- Choose integer kind |
================================================ |
_Description_: |
- `SELECTED_INT_KIND(I)' return the kind value of the smallest |
- integer type that can represent all values ranging from -10^I |
- (exclusive) to 10^I (exclusive). If there is no integer kind that |
+ `SELECTED_INT_KIND(R)' return the kind value of the smallest |
+ integer type that can represent all values ranging from -10^R |
+ (exclusive) to 10^R (exclusive). If there is no integer kind that |
accommodates this range, `SELECTED_INT_KIND' returns -1. |
_Standard_: |
@@ -10557,10 +11323,10 @@ _Class_: |
Transformational function |
_Syntax_: |
- `RESULT = SELECTED_INT_KIND(I)' |
+ `RESULT = SELECTED_INT_KIND(R)' |
_Arguments_: |
- I Shall be a scalar and of type `INTEGER'. |
+ R Shall be a scalar and of type `INTEGER'. |
_Example_: |
program large_integers |
@@ -10579,7 +11345,7 @@ _Example_: |
File: gfortran.info, Node: SELECTED_REAL_KIND, Next: SET_EXPONENT, Prev: SELECTED_INT_KIND, Up: Intrinsic Procedures |
-7.191 `SELECTED_REAL_KIND' -- Choose real kind |
+8.191 `SELECTED_REAL_KIND' -- Choose real kind |
============================================== |
_Description_: |
@@ -10594,7 +11360,7 @@ _Class_: |
Transformational function |
_Syntax_: |
- `RESULT = SELECTED_REAL_KIND(P, R)' |
+ `RESULT = SELECTED_REAL_KIND([P, R])' |
_Arguments_: |
P (Optional) shall be a scalar and of type |
@@ -10635,7 +11401,7 @@ _Example_: |
File: gfortran.info, Node: SET_EXPONENT, Next: SHAPE, Prev: SELECTED_REAL_KIND, Up: Intrinsic Procedures |
-7.192 `SET_EXPONENT' -- Set the exponent of the model |
+8.192 `SET_EXPONENT' -- Set the exponent of the model |
===================================================== |
_Description_: |
@@ -10671,7 +11437,7 @@ _Example_: |
File: gfortran.info, Node: SHAPE, Next: SIGN, Prev: SET_EXPONENT, Up: Intrinsic Procedures |
-7.193 `SHAPE' -- Determine the shape of an array |
+8.193 `SHAPE' -- Determine the shape of an array |
================================================ |
_Description_: |
@@ -10710,7 +11476,7 @@ _See also_: |
File: gfortran.info, Node: SIGN, Next: SIGNAL, Prev: SHAPE, Up: Intrinsic Procedures |
-7.194 `SIGN' -- Sign copying function |
+8.194 `SIGN' -- Sign copying function |
===================================== |
_Description_: |
@@ -10752,7 +11518,7 @@ _Specific names_: |
File: gfortran.info, Node: SIGNAL, Next: SIN, Prev: SIGN, Up: Intrinsic Procedures |
-7.195 `SIGNAL' -- Signal handling subroutine (or function) |
+8.195 `SIGNAL' -- Signal handling subroutine (or function) |
========================================================== |
_Description_: |
@@ -10800,7 +11566,7 @@ _Example_: |
File: gfortran.info, Node: SIN, Next: SINH, Prev: SIGNAL, Up: Intrinsic Procedures |
-7.196 `SIN' -- Sine function |
+8.196 `SIN' -- Sine function |
============================ |
_Description_: |
@@ -10843,14 +11609,14 @@ _See also_: |
File: gfortran.info, Node: SINH, Next: SIZE, Prev: SIN, Up: Intrinsic Procedures |
-7.197 `SINH' -- Hyperbolic sine function |
+8.197 `SINH' -- Hyperbolic sine function |
======================================== |
_Description_: |
`SINH(X)' computes the hyperbolic sine of X. |
_Standard_: |
- Fortran 95 and later |
+ Fortran 95 and later, for a complex argument Fortran 2008 or later |
_Class_: |
Elemental function |
@@ -10859,10 +11625,10 @@ _Syntax_: |
`RESULT = SINH(X)' |
_Arguments_: |
- X The type shall be `REAL'. |
+ X The type shall be `REAL' or `COMPLEX'. |
_Return value_: |
- The return value is of type `REAL'. |
+ The return value has same type and kind as X. |
_Example_: |
program test_sinh |
@@ -10881,7 +11647,7 @@ _See also_: |
File: gfortran.info, Node: SIZE, Next: SIZEOF, Prev: SINH, Up: Intrinsic Procedures |
-7.198 `SIZE' -- Determine the size of an array |
+8.198 `SIZE' -- Determine the size of an array |
============================================== |
_Description_: |
@@ -10923,7 +11689,7 @@ _See also_: |
File: gfortran.info, Node: SIZEOF, Next: SLEEP, Prev: SIZE, Up: Intrinsic Procedures |
-7.199 `SIZEOF' -- Size in bytes of an expression |
+8.199 `SIZEOF' -- Size in bytes of an expression |
================================================ |
_Description_: |
@@ -10966,7 +11732,7 @@ _See also_: |
File: gfortran.info, Node: SLEEP, Next: SNGL, Prev: SIZEOF, Up: Intrinsic Procedures |
-7.200 `SLEEP' -- Sleep for the specified number of seconds |
+8.200 `SLEEP' -- Sleep for the specified number of seconds |
========================================================== |
_Description_: |
@@ -10993,7 +11759,7 @@ _Example_: |
File: gfortran.info, Node: SNGL, Next: SPACING, Prev: SLEEP, Up: Intrinsic Procedures |
-7.201 `SNGL' -- Convert double precision real to default real |
+8.201 `SNGL' -- Convert double precision real to default real |
============================================================= |
_Description_: |
@@ -11022,7 +11788,7 @@ _See also_: |
File: gfortran.info, Node: SPACING, Next: SPREAD, Prev: SNGL, Up: Intrinsic Procedures |
-7.202 `SPACING' -- Smallest distance between two numbers of a given type |
+8.202 `SPACING' -- Smallest distance between two numbers of a given type |
======================================================================== |
_Description_: |
@@ -11059,7 +11825,7 @@ _See also_: |
File: gfortran.info, Node: SPREAD, Next: SQRT, Prev: SPACING, Up: Intrinsic Procedures |
-7.203 `SPREAD' -- Add a dimension to an array |
+8.203 `SPREAD' -- Add a dimension to an array |
============================================= |
_Description_: |
@@ -11100,7 +11866,7 @@ _See also_: |
File: gfortran.info, Node: SQRT, Next: SRAND, Prev: SPREAD, Up: Intrinsic Procedures |
-7.204 `SQRT' -- Square-root function |
+8.204 `SQRT' -- Square-root function |
==================================== |
_Description_: |
@@ -11144,7 +11910,7 @@ _Specific names_: |
File: gfortran.info, Node: SRAND, Next: STAT, Prev: SQRT, Up: Intrinsic Procedures |
-7.205 `SRAND' -- Reinitialize the random number generator |
+8.205 `SRAND' -- Reinitialize the random number generator |
========================================================= |
_Description_: |
@@ -11185,7 +11951,7 @@ _See also_: |
File: gfortran.info, Node: STAT, Next: SUM, Prev: SRAND, Up: Intrinsic Procedures |
-7.206 `STAT' -- Get file status |
+8.206 `STAT' -- Get file status |
=============================== |
_Description_: |
@@ -11193,21 +11959,21 @@ _Description_: |
required on the file itself, but execute (search) permission is |
required on all of the directories in path that lead to the file. |
- The elements that are obtained and stored in the array `BUFF': |
- `buff(1)' Device ID |
- `buff(2)' Inode number |
- `buff(3)' File mode |
- `buff(4)' Number of links |
- `buff(5)' Owner's uid |
- `buff(6)' Owner's gid |
- `buff(7)' ID of device containing directory entry for |
+ The elements that are obtained and stored in the array `VALUES': |
+ `VALUES(1)'Device ID |
+ `VALUES(2)'Inode number |
+ `VALUES(3)'File mode |
+ `VALUES(4)'Number of links |
+ `VALUES(5)'Owner's uid |
+ `VALUES(6)'Owner's gid |
+ `VALUES(7)'ID of device containing directory entry for |
file (0 if not available) |
- `buff(8)' File size (bytes) |
- `buff(9)' Last access time |
- `buff(10)' Last modification time |
- `buff(11)' Last file status change time |
- `buff(12)' Preferred I/O block size (-1 if not available) |
- `buff(13)' Number of blocks allocated (-1 if not |
+ `VALUES(8)'File size (bytes) |
+ `VALUES(9)'Last access time |
+ `VALUES(10)'Last modification time |
+ `VALUES(11)'Last file status change time |
+ `VALUES(12)'Preferred I/O block size (-1 if not available) |
+ `VALUES(13)'Number of blocks allocated (-1 if not |
available) |
Not all these elements are relevant on all systems. If an element |
@@ -11223,12 +11989,12 @@ _Class_: |
Subroutine, function |
_Syntax_: |
- `CALL STAT(FILE,BUFF[,STATUS])' |
+ `CALL STAT(NAME, VALUES [, STATUS])' |
_Arguments_: |
- FILE The type shall be `CHARACTER', of the default |
+ NAME The type shall be `CHARACTER', of the default |
kind and a valid path within the file system. |
- BUFF The type shall be `INTEGER(4), DIMENSION(13)'. |
+ VALUES The type shall be `INTEGER(4), DIMENSION(13)'. |
STATUS (Optional) status flag of type `INTEGER(4)'. |
Returns 0 on success and a system specific |
error code otherwise. |
@@ -11263,7 +12029,7 @@ _See also_: |
File: gfortran.info, Node: SUM, Next: SYMLNK, Prev: STAT, Up: Intrinsic Procedures |
-7.207 `SUM' -- Sum of array elements |
+8.207 `SUM' -- Sum of array elements |
==================================== |
_Description_: |
@@ -11277,7 +12043,8 @@ _Class_: |
Transformational function |
_Syntax_: |
- `RESULT = SUM(ARRAY[, MASK])' `RESULT = SUM(ARRAY, DIM[, MASK])' |
+ `RESULT = SUM(ARRAY[, MASK])' |
+ `RESULT = SUM(ARRAY, DIM[, MASK])' |
_Arguments_: |
ARRAY Shall be an array of type `INTEGER', `REAL' or |
@@ -11310,7 +12077,7 @@ _See also_: |
File: gfortran.info, Node: SYMLNK, Next: SYSTEM, Prev: SUM, Up: Intrinsic Procedures |
-7.208 `SYMLNK' -- Create a symbolic link |
+8.208 `SYMLNK' -- Create a symbolic link |
======================================== |
_Description_: |
@@ -11346,7 +12113,7 @@ _See also_: |
File: gfortran.info, Node: SYSTEM, Next: SYSTEM_CLOCK, Prev: SYMLNK, Up: Intrinsic Procedures |
-7.209 `SYSTEM' -- Execute a shell command |
+8.209 `SYSTEM' -- Execute a shell command |
========================================= |
_Description_: |
@@ -11378,7 +12145,7 @@ _See also_: |
File: gfortran.info, Node: SYSTEM_CLOCK, Next: TAN, Prev: SYSTEM, Up: Intrinsic Procedures |
-7.210 `SYSTEM_CLOCK' -- Time function |
+8.210 `SYSTEM_CLOCK' -- Time function |
===================================== |
_Description_: |
@@ -11422,14 +12189,14 @@ _See also_: |
File: gfortran.info, Node: TAN, Next: TANH, Prev: SYSTEM_CLOCK, Up: Intrinsic Procedures |
-7.211 `TAN' -- Tangent function |
+8.211 `TAN' -- Tangent function |
=============================== |
_Description_: |
`TAN(X)' computes the tangent of X. |
_Standard_: |
- Fortran 77 and later |
+ Fortran 77 and later, for a complex argument Fortran 2008 or later |
_Class_: |
Elemental function |
@@ -11438,11 +12205,10 @@ _Syntax_: |
`RESULT = TAN(X)' |
_Arguments_: |
- X The type shall be `REAL'. |
+ X The type shall be `REAL' or `COMPLEX'. |
_Return value_: |
- The return value is of type `REAL'. The kind type parameter is |
- the same as X. |
+ The return value has same type and kind as X. |
_Example_: |
program test_tan |
@@ -11461,14 +12227,14 @@ _See also_: |
File: gfortran.info, Node: TANH, Next: TIME, Prev: TAN, Up: Intrinsic Procedures |
-7.212 `TANH' -- Hyperbolic tangent function |
+8.212 `TANH' -- Hyperbolic tangent function |
=========================================== |
_Description_: |
`TANH(X)' computes the hyperbolic tangent of X. |
_Standard_: |
- Fortran 77 and later |
+ Fortran 77 and later, for a complex argument Fortran 2008 or later |
_Class_: |
Elemental function |
@@ -11477,11 +12243,12 @@ _Syntax_: |
`X = TANH(X)' |
_Arguments_: |
- X The type shall be `REAL'. |
+ X The type shall be `REAL' or `COMPLEX'. |
_Return value_: |
- The return value is of type `REAL' and lies in the range - 1 \leq |
- tanh(x) \leq 1 . |
+ The return value has same type and kind as X. If X is complex, the |
+ imaginary part of the result is in radians. If X is `REAL', the |
+ return value lies in the range - 1 \leq tanh(x) \leq 1 . |
_Example_: |
program test_tanh |
@@ -11500,7 +12267,7 @@ _See also_: |
File: gfortran.info, Node: TIME, Next: TIME8, Prev: TANH, Up: Intrinsic Procedures |
-7.213 `TIME' -- Time function |
+8.213 `TIME' -- Time function |
============================= |
_Description_: |
@@ -11538,7 +12305,7 @@ _See also_: |
File: gfortran.info, Node: TIME8, Next: TINY, Prev: TIME, Up: Intrinsic Procedures |
-7.214 `TIME8' -- Time function (64-bit) |
+8.214 `TIME8' -- Time function (64-bit) |
======================================= |
_Description_: |
@@ -11574,7 +12341,7 @@ _See also_: |
File: gfortran.info, Node: TINY, Next: TRAILZ, Prev: TIME8, Up: Intrinsic Procedures |
-7.215 `TINY' -- Smallest positive number of a real kind |
+8.215 `TINY' -- Smallest positive number of a real kind |
======================================================= |
_Description_: |
@@ -11602,7 +12369,7 @@ _Example_: |
File: gfortran.info, Node: TRAILZ, Next: TRANSFER, Prev: TINY, Up: Intrinsic Procedures |
-7.216 `TRAILZ' -- Number of trailing zero bits of an integer |
+8.216 `TRAILZ' -- Number of trailing zero bits of an integer |
============================================================ |
_Description_: |
@@ -11635,7 +12402,7 @@ _See also_: |
File: gfortran.info, Node: TRANSFER, Next: TRANSPOSE, Prev: TRAILZ, Up: Intrinsic Procedures |
-7.217 `TRANSFER' -- Transfer bit patterns |
+8.217 `TRANSFER' -- Transfer bit patterns |
========================================= |
_Description_: |
@@ -11689,7 +12456,7 @@ _Example_: |
File: gfortran.info, Node: TRANSPOSE, Next: TRIM, Prev: TRANSFER, Up: Intrinsic Procedures |
-7.218 `TRANSPOSE' -- Transpose an array of rank two |
+8.218 `TRANSPOSE' -- Transpose an array of rank two |
=================================================== |
_Description_: |
@@ -11716,7 +12483,7 @@ _Return value_: |
File: gfortran.info, Node: TRIM, Next: TTYNAM, Prev: TRANSPOSE, Up: Intrinsic Procedures |
-7.219 `TRIM' -- Remove trailing blank characters of a string |
+8.219 `TRIM' -- Remove trailing blank characters of a string |
============================================================ |
_Description_: |
@@ -11750,7 +12517,7 @@ _See also_: |
File: gfortran.info, Node: TTYNAM, Next: UBOUND, Prev: TRIM, Up: Intrinsic Procedures |
-7.220 `TTYNAM' -- Get the name of a terminal device. |
+8.220 `TTYNAM' -- Get the name of a terminal device. |
==================================================== |
_Description_: |
@@ -11788,7 +12555,7 @@ _See also_: |
File: gfortran.info, Node: UBOUND, Next: UMASK, Prev: TTYNAM, Up: Intrinsic Procedures |
-7.221 `UBOUND' -- Upper dimension bounds of an array |
+8.221 `UBOUND' -- Upper dimension bounds of an array |
==================================================== |
_Description_: |
@@ -11828,31 +12595,32 @@ _See also_: |
File: gfortran.info, Node: UMASK, Next: UNLINK, Prev: UBOUND, Up: Intrinsic Procedures |
-7.222 `UMASK' -- Set the file creation mask |
+8.222 `UMASK' -- Set the file creation mask |
=========================================== |
_Description_: |
- Sets the file creation mask to MASK and returns the old value in |
- argument OLD if it is supplied. See `umask(2)'. |
+ Sets the file creation mask to MASK. If called as a function, it |
+ returns the old value. If called as a subroutine and argument OLD |
+ if it is supplied, it is set to the old value. See `umask(2)'. |
_Standard_: |
GNU extension |
_Class_: |
- Subroutine |
+ Subroutine, function |
_Syntax_: |
- `CALL UMASK(MASK [, OLD])' |
+ `CALL UMASK(MASK [, OLD])' `OLD = UMASK(MASK)' |
_Arguments_: |
MASK Shall be a scalar of type `INTEGER'. |
- MASK (Optional) Shall be a scalar of type `INTEGER'. |
+ OLD (Optional) Shall be a scalar of type `INTEGER'. |
File: gfortran.info, Node: UNLINK, Next: UNPACK, Prev: UMASK, Up: Intrinsic Procedures |
-7.223 `UNLINK' -- Remove a file from the file system |
+8.223 `UNLINK' -- Remove a file from the file system |
==================================================== |
_Description_: |
@@ -11885,7 +12653,7 @@ _See also_: |
File: gfortran.info, Node: UNPACK, Next: VERIFY, Prev: UNLINK, Up: Intrinsic Procedures |
-7.224 `UNPACK' -- Unpack an array of rank one into an array |
+8.224 `UNPACK' -- Unpack an array of rank one into an array |
=========================================================== |
_Description_: |
@@ -11928,7 +12696,7 @@ _See also_: |
File: gfortran.info, Node: VERIFY, Next: XOR, Prev: UNPACK, Up: Intrinsic Procedures |
-7.225 `VERIFY' -- Scan a string for the absence of a set of characters |
+8.225 `VERIFY' -- Scan a string for the absence of a set of characters |
====================================================================== |
_Description_: |
@@ -11975,7 +12743,7 @@ _See also_: |
File: gfortran.info, Node: XOR, Prev: VERIFY, Up: Intrinsic Procedures |
-7.226 `XOR' -- Bitwise logical exclusive OR |
+8.226 `XOR' -- Bitwise logical exclusive OR |
=========================================== |
_Description_: |
@@ -11983,8 +12751,8 @@ _Description_: |
This intrinsic routine is provided for backwards compatibility with |
GNU Fortran 77. For integer arguments, programmers should consider |
- the use of the *note IEOR:: intrinsic defined by the Fortran |
- standard. |
+ the use of the *note IEOR:: intrinsic and for logical arguments the |
+ `.NEQV.' operator, which are both defined by the Fortran standard. |
_Standard_: |
GNU extension |
@@ -11993,12 +12761,12 @@ _Class_: |
Function |
_Syntax_: |
- `RESULT = XOR(X, Y)' |
+ `RESULT = XOR(I, J)' |
_Arguments_: |
- X The type shall be either a scalar `INTEGER' |
+ I The type shall be either a scalar `INTEGER' |
type or a scalar `LOGICAL' type. |
- Y The type shall be the same as the type of I. |
+ J The type shall be the same as the type of I. |
_Return value_: |
The return type is either a scalar `INTEGER' or a scalar |
@@ -12022,14 +12790,24 @@ _See also_: |
File: gfortran.info, Node: Intrinsic Modules, Next: Contributing, Prev: Intrinsic Procedures, Up: Top |
-8 Intrinsic Modules |
+9 Intrinsic Modules |
******************* |
-8.1 `ISO_FORTRAN_ENV' |
+* Menu: |
+ |
+* ISO_FORTRAN_ENV:: |
+* ISO_C_BINDING:: |
+* OpenMP Modules OMP_LIB and OMP_LIB_KINDS:: |
+ |
+ |
+File: gfortran.info, Node: ISO_FORTRAN_ENV, Next: ISO_C_BINDING, Up: Intrinsic Modules |
+ |
+9.1 `ISO_FORTRAN_ENV' |
===================== |
_Standard_: |
- Fortran 2003 and later |
+ Fortran 2003 and later; `INT8', `INT16', `INT32', `INT64', |
+ `REAL32', `REAL64', `REAL128' are Fortran 2008 or later |
The `ISO_FORTRAN_ENV' module provides the following scalar |
default-integer named constants: |
@@ -12047,6 +12825,11 @@ default-integer named constants: |
Identifies the preconnected unit identified by the asterisk (`*') |
in `READ' statement. |
+`INT8', `INT16', `INT32', `INT64' |
+ Kind type parameters to specify an INTEGER type with a storage |
+ size of 16, 32, and 64 bits. It is negative if a target platform |
+ does not support the particular kind. |
+ |
`IOSTAT_END': |
The value assigned to the variable passed to the IOSTAT= specifier |
of an input/output statement if an end-of-file condition occurred. |
@@ -12063,7 +12846,15 @@ default-integer named constants: |
Identifies the preconnected unit identified by the asterisk (`*') |
in `WRITE' statement. |
-8.2 `ISO_C_BINDING' |
+`REAL32', `REAL64', `REAL128' |
+ Kind type parameters to specify a REAL type with a storage size of |
+ 32, 64, and 128 bits. It is negative if a target platform does not |
+ support the particular kind. |
+ |
+ |
+File: gfortran.info, Node: ISO_C_BINDING, Next: OpenMP Modules OMP_LIB and OMP_LIB_KINDS, Prev: ISO_FORTRAN_ENV, Up: Intrinsic Modules |
+ |
+9.2 `ISO_C_BINDING' |
=================== |
_Standard_: |
@@ -12084,11 +12875,7 @@ manual. |
`C_LOC' |
The `ISO_C_BINDING' module provides the following named constants of |
-the type integer, which can be used as KIND type parameter. Note that |
-GNU Fortran currently does not support the `C_INT_FAST...' KIND type |
-parameters (marked by an asterisk (`*') in the list below). The |
-`C_INT_FAST...' parameters have therefore the value -2 and cannot be |
-used as KIND type parameter of the `INTEGER' type. |
+type default integer, which can be used as KIND type parameters. |
In addition to the integer named constants required by the Fortran |
2003 standard, GNU Fortran provides as an extension named constants for |
@@ -12114,11 +12901,11 @@ Type |
`INTEGER' `C_INT_LEAST32_T' `int_least32_t' |
`INTEGER' `C_INT_LEAST64_T' `int_least64_t' |
`INTEGER' `C_INT_LEAST128_T' `int_least128_t' Ext. |
-`INTEGER' `C_INT_FAST8_T'* `int_fast8_t' |
-`INTEGER' `C_INT_FAST16_T'* `int_fast16_t' |
-`INTEGER' `C_INT_FAST32_T'* `int_fast32_t' |
-`INTEGER' `C_INT_FAST64_T'* `int_fast64_t' |
-`INTEGER' `C_INT_FAST128_T'* `int_fast128_t' Ext. |
+`INTEGER' `C_INT_FAST8_T' `int_fast8_t' |
+`INTEGER' `C_INT_FAST16_T' `int_fast16_t' |
+`INTEGER' `C_INT_FAST32_T' `int_fast32_t' |
+`INTEGER' `C_INT_FAST64_T' `int_fast64_t' |
+`INTEGER' `C_INT_FAST128_T' `int_fast128_t' Ext. |
`INTEGER' `C_INTMAX_T' `intmax_t' |
`INTEGER' `C_INTPTR_T' `intptr_t' |
`REAL' `C_FLOAT' `float' |
@@ -12130,7 +12917,8 @@ Type |
`LOGICAL' `C_BOOL' `_Bool' |
`CHARACTER' `C_CHAR' `char' |
- Additionally, the following `(CHARACTER(KIND=C_CHAR))' are defined. |
+ Additionally, the following parameters of type |
+`CHARACTER(KIND=C_CHAR)' are defined. |
Name C definition Value |
`C_NULL_CHAR' null character `'\0'' |
@@ -12142,7 +12930,10 @@ Name C definition Value |
`C_HORIZONTAL_TAB'horizontal tab `'\t'' |
`C_VERTICAL_TAB'vertical tab `'\v'' |
-8.3 OpenMP Modules `OMP_LIB' and `OMP_LIB_KINDS' |
+ |
+File: gfortran.info, Node: OpenMP Modules OMP_LIB and OMP_LIB_KINDS, Prev: ISO_C_BINDING, Up: Intrinsic Modules |
+ |
+9.3 OpenMP Modules `OMP_LIB' and `OMP_LIB_KINDS' |
================================================ |
_Standard_: |
@@ -12272,6 +13063,8 @@ significant help to the GNU Fortran project (in alphabetical order): |
- Janus Weil |
+ - Daniel Kraft |
+ |
The following people have contributed bug reports, smaller or larger |
patches, and much needed feedback and encouragement for the GNU Fortran |
project: |
@@ -12284,6 +13077,8 @@ project: |
- Erik Schnetter |
+ - Joost VandeVondele |
+ |
Many other individuals have helped debug, test and improve the GNU |
Fortran compiler over the past few years, and we welcome you to do the |
same! If you already have done so, and you would like to see your name |
@@ -13605,7 +14400,7 @@ look up both forms. |
* APREDICATE=ANSWER: Preprocessing Options. |
(line 114) |
* backslash: Fortran Dialect Options. |
- (line 59) |
+ (line 62) |
* C: Preprocessing Options. |
(line 123) |
* CC: Preprocessing Options. |
@@ -13626,16 +14421,17 @@ look up both forms. |
(line 156) |
* dU: Preprocessing Options. |
(line 44) |
-* falign-commons: Code Gen Options. (line 255) |
+* falign-commons: Code Gen Options. (line 304) |
* fall-intrinsics: Fortran Dialect Options. |
(line 18) |
* fbacktrace: Debugging Options. (line 31) |
-* fblas-matmul-limit: Code Gen Options. (line 214) |
-* fbounds-check: Code Gen Options. (line 130) |
-* fcheck-array-temporaries: Code Gen Options. (line 144) |
+* fblas-matmul-limit: Code Gen Options. (line 260) |
+* fbounds-check: Code Gen Options. (line 192) |
+* fcheck: Code Gen Options. (line 143) |
+* fcheck-array-temporaries: Code Gen Options. (line 195) |
* fconvert=CONVERSION: Runtime Options. (line 9) |
* fcray-pointer: Fortran Dialect Options. |
- (line 105) |
+ (line 108) |
* fd-lines-as-code: Fortran Dialect Options. |
(line 29) |
* fd-lines-as-comments: Fortran Dialect Options. |
@@ -13650,53 +14446,55 @@ look up both forms. |
(line 56) |
* fdump-core: Debugging Options. (line 38) |
* fdump-parse-tree: Debugging Options. (line 10) |
-* fexternal-blas: Code Gen Options. (line 206) |
+* fexternal-blas: Code Gen Options. (line 252) |
* ff2c: Code Gen Options. (line 25) |
* ffixed-line-length-N: Fortran Dialect Options. |
- (line 76) |
+ (line 79) |
* ffpe-trap=LIST: Debugging Options. (line 14) |
* ffree-form: Fortran Dialect Options. |
(line 12) |
* ffree-line-length-N: Fortran Dialect Options. |
- (line 89) |
+ (line 92) |
* fimplicit-none: Fortran Dialect Options. |
- (line 100) |
-* finit-character: Code Gen Options. (line 238) |
-* finit-integer: Code Gen Options. (line 238) |
-* finit-local-zero: Code Gen Options. (line 238) |
-* finit-logical: Code Gen Options. (line 238) |
-* finit-real: Code Gen Options. (line 238) |
+ (line 103) |
+* finit-character: Code Gen Options. (line 284) |
+* finit-integer: Code Gen Options. (line 284) |
+* finit-local-zero: Code Gen Options. (line 284) |
+* finit-logical: Code Gen Options. (line 284) |
+* finit-real: Code Gen Options. (line 284) |
* fintrinsic-modules-path DIR: Directory Options. (line 40) |
-* fmax-array-constructor: Code Gen Options. (line 152) |
+* fmax-array-constructor: Code Gen Options. (line 198) |
* fmax-errors=N: Error and Warning Options. |
(line 27) |
* fmax-identifier-length=N: Fortran Dialect Options. |
- (line 96) |
-* fmax-stack-var-size: Code Gen Options. (line 170) |
+ (line 99) |
+* fmax-stack-var-size: Code Gen Options. (line 216) |
* fmax-subrecord-length=LENGTH: Runtime Options. (line 36) |
* fmodule-private: Fortran Dialect Options. |
- (line 71) |
+ (line 74) |
* fno-automatic: Code Gen Options. (line 15) |
* fno-fixed-form: Fortran Dialect Options. |
(line 12) |
+* fno-protect-parens: Code Gen Options. (line 315) |
* fno-range-check: Runtime Options. (line 20) |
* fno-underscoring: Code Gen Options. (line 54) |
* fopenmp: Fortran Dialect Options. |
- (line 109) |
-* fpack-derived: Code Gen Options. (line 184) |
+ (line 112) |
+* fpack-derived: Code Gen Options. (line 230) |
* fpp: Preprocessing Options. |
(line 13) |
* frange-check: Fortran Dialect Options. |
- (line 117) |
+ (line 120) |
* frecord-marker=LENGTH: Runtime Options. (line 28) |
-* frecursive: Code Gen Options. (line 225) |
-* frepack-arrays: Code Gen Options. (line 190) |
-* fsecond-underscore: Code Gen Options. (line 113) |
-* fshort-enums <1>: Fortran 2003 status. (line 20) |
-* fshort-enums: Code Gen Options. (line 200) |
+* frecursive: Code Gen Options. (line 271) |
+* frepack-arrays: Code Gen Options. (line 236) |
+* fsecond-underscore: Code Gen Options. (line 126) |
+* fshort-enums <1>: Fortran 2003 status. (line 22) |
+* fshort-enums: Code Gen Options. (line 246) |
* fsign-zero: Runtime Options. (line 41) |
* fsyntax-only: Error and Warning Options. |
(line 33) |
+* fwhole-file: Code Gen Options. (line 113) |
* fworking-directory: Preprocessing Options. |
(line 55) |
* H: Preprocessing Options. |
@@ -13726,7 +14524,7 @@ look up both forms. |
(line 57) |
* static-libgfortran: Link Options. (line 11) |
* std=STD option: Fortran Dialect Options. |
- (line 129) |
+ (line 132) |
* UNAME: Preprocessing Options. |
(line 187) |
* undef: Preprocessing Options. |
@@ -13734,7 +14532,7 @@ look up both forms. |
* Waliasing: Error and Warning Options. |
(line 68) |
* Walign-commons: Error and Warning Options. |
- (line 165) |
+ (line 171) |
* Wall: Error and Warning Options. |
(line 61) |
* Wampersand: Error and Warning Options. |
@@ -13746,23 +14544,25 @@ look up both forms. |
* Wconversion: Error and Warning Options. |
(line 104) |
* Werror: Error and Warning Options. |
- (line 171) |
+ (line 177) |
* Wimplicit-interface: Error and Warning Options. |
(line 107) |
+* Wimplicit-procedure: Error and Warning Options. |
+ (line 113) |
* Wintrinsic-shadow: Error and Warning Options. |
- (line 152) |
+ (line 158) |
* Wintrinsics-std: Error and Warning Options. |
- (line 113) |
+ (line 117) |
* Wline-truncation: Error and Warning Options. |
(line 101) |
* Wsurprising: Error and Warning Options. |
- (line 120) |
+ (line 124) |
* Wtabs: Error and Warning Options. |
- (line 140) |
+ (line 146) |
* Wunderflow: Error and Warning Options. |
- (line 148) |
+ (line 154) |
* Wunused-parameter: Error and Warning Options. |
- (line 158) |
+ (line 164) |
File: gfortran.info, Node: Keyword Index, Prev: Option Index, Up: Top |
@@ -13783,12 +14583,23 @@ Keyword Index |
(line 6) |
* &: Error and Warning Options. |
(line 85) |
-* [...]: Fortran 2003 status. (line 13) |
+* [...]: Fortran 2003 status. (line 14) |
+* _gfortran_set_args: _gfortran_set_args. (line 6) |
+* _gfortran_set_convert: _gfortran_set_convert. |
+ (line 6) |
+* _gfortran_set_fpe: _gfortran_set_fpe. (line 6) |
+* _gfortran_set_max_subrecord_length: _gfortran_set_max_subrecord_length. |
+ (line 6) |
+* _gfortran_set_options: _gfortran_set_options. |
+ (line 6) |
+* _gfortran_set_record_marker: _gfortran_set_record_marker. |
+ (line 6) |
* ABORT: ABORT. (line 6) |
* ABS: ABS. (line 6) |
* absolute value: ABS. (line 6) |
+* ABSTRACT type: Fortran 2003 status. (line 69) |
* ACCESS: ACCESS. (line 6) |
-* ACCESS='STREAM' I/O: Fortran 2003 status. (line 32) |
+* ACCESS='STREAM' I/O: Fortran 2003 status. (line 40) |
* ACHAR: ACHAR. (line 6) |
* ACOS: ACOS. (line 6) |
* ACOSH: ACOSH. (line 6) |
@@ -13802,16 +14613,17 @@ Keyword Index |
* ALGAMA: LOG_GAMMA. (line 6) |
* aliasing: Error and Warning Options. |
(line 68) |
-* alignment of COMMON blocks <1>: Code Gen Options. (line 255) |
+* alignment of COMMON blocks <1>: Code Gen Options. (line 304) |
* alignment of COMMON blocks: Error and Warning Options. |
- (line 165) |
+ (line 171) |
* ALL: ALL. (line 6) |
* all warnings: Error and Warning Options. |
(line 61) |
* ALLOCATABLE components of derived types: Fortran 2003 status. |
- (line 30) |
-* ALLOCATABLE dummy arguments: Fortran 2003 status. (line 26) |
-* ALLOCATABLE function results: Fortran 2003 status. (line 28) |
+ (line 32) |
+* ALLOCATABLE dummy arguments: Fortran 2003 status. (line 28) |
+* ALLOCATABLE function results: Fortran 2003 status. (line 30) |
+* ALLOCATE: Fortran 2003 status. (line 34) |
* ALLOCATED: ALLOCATED. (line 6) |
* allocation, moving: MOVE_ALLOC. (line 6) |
* allocation, status: ALLOCATED. (line 6) |
@@ -13840,7 +14652,7 @@ Keyword Index |
* array, add elements: SUM. (line 6) |
* array, apply condition <1>: ANY. (line 6) |
* array, apply condition: ALL. (line 6) |
-* array, bounds checking: Code Gen Options. (line 130) |
+* array, bounds checking: Code Gen Options. (line 143) |
* array, change dimensions: RESHAPE. (line 6) |
* array, combine arrays: MERGE. (line 6) |
* array, condition testing <1>: ANY. (line 6) |
@@ -13848,7 +14660,7 @@ Keyword Index |
* array, conditionally add elements: SUM. (line 6) |
* array, conditionally count elements: COUNT. (line 6) |
* array, conditionally multiply elements: PRODUCT. (line 6) |
-* array, constructors: Fortran 2003 status. (line 13) |
+* array, constructors: Fortran 2003 status. (line 14) |
* array, count elements: SIZE. (line 6) |
* array, duplicate dimensions: SPREAD. (line 6) |
* array, duplicate elements: SPREAD. (line 6) |
@@ -13893,7 +14705,7 @@ Keyword Index |
* ATAN2: ATAN2. (line 6) |
* Authors: Contributors. (line 6) |
* backslash: Fortran Dialect Options. |
- (line 59) |
+ (line 62) |
* backtrace: Debugging Options. (line 31) |
* BESJ0: BESSEL_J0. (line 6) |
* BESJ1: BESSEL_J1. (line 6) |
@@ -13935,7 +14747,7 @@ Keyword Index |
* bitwise logical not: NOT. (line 6) |
* bitwise logical or <1>: OR. (line 6) |
* bitwise logical or: IOR. (line 6) |
-* bounds checking: Code Gen Options. (line 130) |
+* bounds checking: Code Gen Options. (line 143) |
* BOZ literal constants: BOZ literal constants. |
(line 6) |
* BTEST: BTEST. (line 6) |
@@ -13963,8 +14775,8 @@ Keyword Index |
* character set: Fortran Dialect Options. |
(line 56) |
* CHDIR: CHDIR. (line 6) |
-* checking array temporaries: Code Gen Options. (line 144) |
-* checking subscripts: Code Gen Options. (line 130) |
+* checking array temporaries: Code Gen Options. (line 143) |
+* checking subscripts: Code Gen Options. (line 143) |
* CHMOD: CHMOD. (line 6) |
* clock ticks <1>: SYSTEM_CLOCK. (line 6) |
* clock ticks <2>: MCLOCK8. (line 6) |
@@ -14081,8 +14893,10 @@ Keyword Index |
(line 26) |
* DECODE: ENCODE and DECODE statements. |
(line 6) |
+* DEFERRED procedure binding: Fortran 2003 status. (line 69) |
* delayed execution <1>: SLEEP. (line 6) |
* delayed execution: ALARM. (line 6) |
+* derived-type extension: Fortran 2003 status. (line 67) |
* DEXP: EXP. (line 6) |
* DFLOAT: DFLOAT. (line 6) |
* DGAMMA: GAMMA. (line 6) |
@@ -14120,8 +14934,8 @@ Keyword Index |
* elapsed time: DTIME. (line 6) |
* ENCODE: ENCODE and DECODE statements. |
(line 6) |
-* ENUM statement: Fortran 2003 status. (line 20) |
-* ENUMERATOR statement: Fortran 2003 status. (line 20) |
+* ENUM statement: Fortran 2003 status. (line 22) |
+* ENUMERATOR statement: Fortran 2003 status. (line 22) |
* environment variable <1>: GET_ENVIRONMENT_VARIABLE. |
(line 6) |
* environment variable <2>: GETENV. (line 6) |
@@ -14140,7 +14954,7 @@ Keyword Index |
* errors, limiting: Error and Warning Options. |
(line 27) |
* escape characters: Fortran Dialect Options. |
- (line 59) |
+ (line 62) |
* ETIME: ETIME. (line 6) |
* Euclidean distance: HYPOT. (line 6) |
* EXIT: EXIT. (line 6) |
@@ -14151,6 +14965,7 @@ Keyword Index |
* exponential function, inverse: LOG. (line 6) |
* expression size <1>: SIZEOF. (line 6) |
* expression size: C_SIZEOF. (line 6) |
+* EXTENDS: Fortran 2003 status. (line 67) |
* extensions: Extensions. (line 6) |
* extensions, implemented: Extensions implemented in GNU Fortran. |
(line 6) |
@@ -14200,8 +15015,10 @@ Keyword Index |
* FLOOR: FLOOR. (line 6) |
* floor: AINT. (line 6) |
* FLUSH: FLUSH. (line 6) |
-* FLUSH statement: Fortran 2003 status. (line 16) |
+* FLUSH statement: Fortran 2003 status. (line 18) |
* FNUM: FNUM. (line 6) |
+* FORMAT: Variable FORMAT expressions. |
+ (line 6) |
* Fortran 77: GNU Fortran and G77. (line 6) |
* FPP: Preprocessing and conditional compilation. |
(line 6) |
@@ -14271,7 +15088,7 @@ Keyword Index |
* IFIX: INT. (line 6) |
* IMAG: AIMAG. (line 6) |
* IMAGPART: AIMAG. (line 6) |
-* IMPORT statement: Fortran 2003 status. (line 43) |
+* IMPORT statement: Fortran 2003 status. (line 51) |
* INCLUDE directive: Directory Options. (line 6) |
* inclusion, directory search paths for: Directory Options. (line 14) |
* INDEX: INDEX intrinsic. (line 6) |
@@ -14279,13 +15096,15 @@ Keyword Index |
* INT2: INT2. (line 6) |
* INT8: INT8. (line 6) |
* integer kind: SELECTED_INT_KIND. (line 6) |
+* Interoperability: Mixed-Language Programming. |
+ (line 6) |
* intrinsic: Error and Warning Options. |
- (line 152) |
+ (line 158) |
* intrinsic Modules: Intrinsic Modules. (line 6) |
* intrinsic procedures: Intrinsic Procedures. |
(line 6) |
* Introduction: Top. (line 6) |
-* IOMSG= specifier: Fortran 2003 status. (line 18) |
+* IOMSG= specifier: Fortran 2003 status. (line 20) |
* IOR: IOR. (line 6) |
* IOSTAT, end of file: IS_IOSTAT_END. (line 6) |
* IOSTAT, end of record: IS_IOSTAT_EOR. (line 6) |
@@ -14297,8 +15116,8 @@ Keyword Index |
* ISHFTC: ISHFTC. (line 6) |
* ISIGN: SIGN. (line 6) |
* ISNAN: ISNAN. (line 6) |
-* ISO C Bindings: Fortran 2003 status. (line 52) |
-* ISO_FORTRAN_ENV statement: Fortran 2003 status. (line 46) |
+* ISO C Bindings: Fortran 2003 status. (line 60) |
+* ISO_FORTRAN_ENV statement: Fortran 2003 status. (line 54) |
* ITIME: ITIME. (line 6) |
* KILL: KILL. (line 6) |
* kind: KIND. (line 6) |
@@ -14324,6 +15143,16 @@ Keyword Index |
* LGE: LGE. (line 6) |
* LGT: LGT. (line 6) |
* libf2c calling convention: Code Gen Options. (line 25) |
+* libgfortran initialization, set_args: _gfortran_set_args. (line 6) |
+* libgfortran initialization, set_convert: _gfortran_set_convert. |
+ (line 6) |
+* libgfortran initialization, set_fpe: _gfortran_set_fpe. (line 6) |
+* libgfortran initialization, set_max_subrecord_length: _gfortran_set_max_subrecord_length. |
+ (line 6) |
+* libgfortran initialization, set_options: _gfortran_set_options. |
+ (line 6) |
+* libgfortran initialization, set_record_marker: _gfortran_set_record_marker. |
+ (line 6) |
* limits, largest number: HUGE. (line 6) |
* limits, smallest number: TINY. (line 6) |
* LINK: LINK. (line 6) |
@@ -14347,6 +15176,8 @@ Keyword Index |
* logical not, bitwise: NOT. (line 6) |
* logical or, bitwise <1>: OR. (line 6) |
* logical or, bitwise: IOR. (line 6) |
+* logical, variable representation: Internal representation of LOGICAL variables. |
+ (line 6) |
* login name: GETLOG. (line 6) |
* LONG: LONG. (line 6) |
* LSHIFT: LSHIFT. (line 6) |
@@ -14366,6 +15197,7 @@ Keyword Index |
* MAXVAL: MAXVAL. (line 6) |
* MCLOCK: MCLOCK. (line 6) |
* MCLOCK8: MCLOCK8. (line 6) |
+* memory checking: Code Gen Options. (line 143) |
* MERGE: MERGE. (line 6) |
* messages, error: Error and Warning Options. |
(line 6) |
@@ -14379,6 +15211,8 @@ Keyword Index |
* minimum value: MIN. (line 6) |
* MINLOC: MINLOC. (line 6) |
* MINVAL: MINVAL. (line 6) |
+* Mixed-language programming: Mixed-Language Programming. |
+ (line 6) |
* MOD: MOD. (line 6) |
* model representation, base: RADIX. (line 6) |
* model representation, epsilon: EPSILON. (line 6) |
@@ -14391,7 +15225,7 @@ Keyword Index |
* model representation, significant digits: DIGITS. (line 6) |
* model representation, smallest number: TINY. (line 6) |
* module entities: Fortran Dialect Options. |
- (line 71) |
+ (line 74) |
* module search path: Directory Options. (line 14) |
* modulo: MODULO. (line 6) |
* MODULO: MODULO. (line 6) |
@@ -14409,7 +15243,7 @@ Keyword Index |
* NULL: NULL. (line 6) |
* OpenMP <1>: OpenMP. (line 6) |
* OpenMP: Fortran Dialect Options. |
- (line 109) |
+ (line 112) |
* operators, unary: Unary operators. (line 6) |
* options, code generation: Code Gen Options. (line 6) |
* options, debugging: Debugging Options. (line 6) |
@@ -14436,6 +15270,7 @@ Keyword Index |
* PACK: PACK. (line 6) |
* paths, search: Directory Options. (line 14) |
* PERROR: PERROR. (line 6) |
+* pointer checking: Code Gen Options. (line 143) |
* pointer, C address of pointers: C_F_PROCPOINTER. (line 6) |
* pointer, C address of procedures: C_FUNLOC. (line 6) |
* pointer, C association status: C_ASSOCIATED. (line 6) |
@@ -14476,7 +15311,7 @@ Keyword Index |
(line 55) |
* PRESENT: PRESENT. (line 6) |
* private: Fortran Dialect Options. |
- (line 71) |
+ (line 74) |
* procedure pointer, convert C to Fortran: C_LOC. (line 6) |
* process id: GETPID. (line 6) |
* PRODUCT: PRODUCT. (line 6) |
@@ -14485,7 +15320,7 @@ Keyword Index |
* product, vector: DOT_PRODUCT. (line 6) |
* program termination: EXIT. (line 6) |
* program termination, with core dump: ABORT. (line 6) |
-* PROTECTED statement: Fortran 2003 status. (line 37) |
+* PROTECTED statement: Fortran 2003 status. (line 45) |
* RADIX: RADIX. (line 6) |
* RAN: RAN. (line 6) |
* RAND: RAND. (line 6) |
@@ -14498,7 +15333,9 @@ Keyword Index |
* RANDOM_NUMBER: RANDOM_NUMBER. (line 6) |
* RANDOM_SEED: RANDOM_SEED. (line 6) |
* RANGE: RANGE. (line 6) |
-* range checking: Code Gen Options. (line 130) |
+* range checking: Code Gen Options. (line 143) |
+* re-association of parenthesed expressions: Code Gen Options. |
+ (line 315) |
* read character, stream mode <1>: FGETC. (line 6) |
* read character, stream mode: FGET. (line 6) |
* REAL: REAL. (line 6) |
@@ -14515,7 +15352,7 @@ Keyword Index |
(line 6) |
* remainder: MOD. (line 6) |
* RENAME: RENAME. (line 6) |
-* repacking arrays: Code Gen Options. (line 190) |
+* repacking arrays: Code Gen Options. (line 236) |
* REPEAT: REPEAT. (line 6) |
* RESHAPE: RESHAPE. (line 6) |
* root: SQRT. (line 6) |
@@ -14526,6 +15363,7 @@ Keyword Index |
* rounding, nearest whole number: NINT. (line 6) |
* RRSPACING: RRSPACING. (line 6) |
* RSHIFT: RSHIFT. (line 6) |
+* run-time checking: Code Gen Options. (line 143) |
* SAVE statement: Code Gen Options. (line 15) |
* SCALE: SCALE. (line 6) |
* SCAN: SCAN. (line 6) |
@@ -14564,17 +15402,17 @@ Keyword Index |
* SRAND: SRAND. (line 6) |
* Standards: Standards. (line 6) |
* STAT: STAT. (line 6) |
-* statement, ENUM: Fortran 2003 status. (line 20) |
-* statement, ENUMERATOR: Fortran 2003 status. (line 20) |
-* statement, FLUSH: Fortran 2003 status. (line 16) |
-* statement, IMPORT: Fortran 2003 status. (line 43) |
-* statement, ISO_FORTRAN_ENV: Fortran 2003 status. (line 46) |
-* statement, PROTECTED: Fortran 2003 status. (line 37) |
+* statement, ENUM: Fortran 2003 status. (line 22) |
+* statement, ENUMERATOR: Fortran 2003 status. (line 22) |
+* statement, FLUSH: Fortran 2003 status. (line 18) |
+* statement, IMPORT: Fortran 2003 status. (line 51) |
+* statement, ISO_FORTRAN_ENV: Fortran 2003 status. (line 54) |
+* statement, PROTECTED: Fortran 2003 status. (line 45) |
* statement, SAVE: Code Gen Options. (line 15) |
-* statement, USE, INTRINSIC: Fortran 2003 status. (line 46) |
-* statement, VALUE: Fortran 2003 status. (line 39) |
-* statement, VOLATILE: Fortran 2003 status. (line 41) |
-* STREAM I/O: Fortran 2003 status. (line 32) |
+* statement, USE, INTRINSIC: Fortran 2003 status. (line 54) |
+* statement, VALUE: Fortran 2003 status. (line 47) |
+* statement, VOLATILE: Fortran 2003 status. (line 49) |
+* STREAM I/O: Fortran 2003 status. (line 40) |
* stream mode, read character <1>: FGETC. (line 6) |
* stream mode, read character: FGET. (line 6) |
* stream mode, write character <1>: FPUTC. (line 6) |
@@ -14594,10 +15432,12 @@ Keyword Index |
* string, length, without trailing whitespace: LEN_TRIM. (line 6) |
* string, remove trailing whitespace: TRIM. (line 6) |
* string, repeat: REPEAT. (line 6) |
+* strings, varying length: Varying Length Character Strings. |
+ (line 6) |
* STRUCTURE: STRUCTURE and RECORD. |
(line 6) |
-* structure packing: Code Gen Options. (line 184) |
-* subscript checking: Code Gen Options. (line 130) |
+* structure packing: Code Gen Options. (line 230) |
+* subscript checking: Code Gen Options. (line 143) |
* substring position: INDEX intrinsic. (line 6) |
* SUM: SUM. (line 6) |
* sum array elements: SUM. (line 6) |
@@ -14627,7 +15467,7 @@ Keyword Index |
* system, working directory: CHDIR. (line 6) |
* SYSTEM_CLOCK: SYSTEM_CLOCK. (line 6) |
* tabulators: Error and Warning Options. |
- (line 140) |
+ (line 146) |
* TAN: TAN. (line 6) |
* tangent: TAN. (line 6) |
* tangent, hyperbolic: TANH. (line 6) |
@@ -14656,7 +15496,7 @@ Keyword Index |
* time, elapsed: CPU_TIME. (line 6) |
* TIME8: TIME8. (line 6) |
* TINY: TINY. (line 6) |
-* TR 15581: Fortran 2003 status. (line 25) |
+* TR 15581: Fortran 2003 status. (line 27) |
* trace: Debugging Options. (line 31) |
* TRAILZ: TRAILZ. (line 6) |
* TRANSFER: TRANSFER. (line 6) |
@@ -14673,25 +15513,31 @@ Keyword Index |
* TRIM: TRIM. (line 6) |
* TTYNAM: TTYNAM. (line 6) |
* type cast: TRANSFER. (line 6) |
+* type-bound operator: Fortran 2003 status. (line 64) |
+* type-bound procedure: Fortran 2003 status. (line 64) |
* UBOUND: UBOUND. (line 6) |
* UMASK: UMASK. (line 6) |
* underflow: Error and Warning Options. |
- (line 148) |
+ (line 154) |
* underscore: Code Gen Options. (line 54) |
* UNLINK: UNLINK. (line 6) |
* UNPACK: UNPACK. (line 6) |
* unused parameter: Error and Warning Options. |
- (line 158) |
-* USE, INTRINSIC statement: Fortran 2003 status. (line 46) |
+ (line 164) |
+* USE, INTRINSIC statement: Fortran 2003 status. (line 54) |
* user id: GETUID. (line 6) |
-* VALUE statement: Fortran 2003 status. (line 39) |
+* VALUE statement: Fortran 2003 status. (line 47) |
+* Varying length character strings: Varying Length Character Strings. |
+ (line 6) |
+* Varying length strings: Varying Length Character Strings. |
+ (line 6) |
* vector product: DOT_PRODUCT. (line 6) |
* VERIFY: VERIFY. (line 6) |
-* VOLATILE statement: Fortran 2003 status. (line 41) |
+* VOLATILE statement: Fortran 2003 status. (line 49) |
* warnings, aliasing: Error and Warning Options. |
(line 68) |
* warnings, alignment of COMMON blocks: Error and Warning Options. |
- (line 165) |
+ (line 171) |
* warnings, all: Error and Warning Options. |
(line 61) |
* warnings, ampersand: Error and Warning Options. |
@@ -14704,26 +15550,28 @@ Keyword Index |
(line 104) |
* warnings, implicit interface: Error and Warning Options. |
(line 107) |
+* warnings, implicit procedure: Error and Warning Options. |
+ (line 113) |
* warnings, intrinsic: Error and Warning Options. |
- (line 152) |
+ (line 158) |
* warnings, intrinsics of other standards: Error and Warning Options. |
- (line 113) |
+ (line 117) |
* warnings, line truncation: Error and Warning Options. |
(line 101) |
* warnings, non-standard intrinsics: Error and Warning Options. |
- (line 113) |
+ (line 117) |
* warnings, suppressing: Error and Warning Options. |
(line 6) |
* warnings, suspicious code: Error and Warning Options. |
- (line 120) |
+ (line 124) |
* warnings, tabs: Error and Warning Options. |
- (line 140) |
+ (line 146) |
* warnings, to errors: Error and Warning Options. |
- (line 171) |
+ (line 177) |
* warnings, underflow: Error and Warning Options. |
- (line 148) |
+ (line 154) |
* warnings, unused parameter: Error and Warning Options. |
- (line 158) |
+ (line 164) |
* write character, stream mode <1>: FPUTC. (line 6) |
* write character, stream mode: FPUT. (line 6) |
* XOR: XOR. (line 6) |
@@ -14739,302 +15587,323 @@ Keyword Index |
Tag Table: |
-Node: Top1990 |
-Node: Introduction3305 |
-Node: About GNU Fortran4052 |
-Node: GNU Fortran and GCC8080 |
-Node: Preprocessing and conditional compilation10192 |
-Node: GNU Fortran and G7711833 |
-Node: Project Status12406 |
-Node: Standards14921 |
-Node: Invoking GNU Fortran16132 |
-Node: Option Summary17855 |
-Node: Fortran Dialect Options21343 |
-Node: Preprocessing Options28153 |
-Node: Error and Warning Options36279 |
-Node: Debugging Options43706 |
-Node: Directory Options45869 |
-Node: Link Options47384 |
-Node: Runtime Options48008 |
-Node: Code Gen Options50088 |
-Node: Environment Variables62313 |
-Node: Runtime62918 |
-Node: GFORTRAN_STDIN_UNIT64146 |
-Node: GFORTRAN_STDOUT_UNIT64513 |
-Node: GFORTRAN_STDERR_UNIT64914 |
-Node: GFORTRAN_USE_STDERR65312 |
-Node: GFORTRAN_TMPDIR65757 |
-Node: GFORTRAN_UNBUFFERED_ALL66198 |
-Node: GFORTRAN_UNBUFFERED_PRECONNECTED66721 |
-Node: GFORTRAN_SHOW_LOCUS67363 |
-Node: GFORTRAN_OPTIONAL_PLUS67857 |
-Node: GFORTRAN_DEFAULT_RECL68332 |
-Node: GFORTRAN_LIST_SEPARATOR68823 |
-Node: GFORTRAN_CONVERT_UNIT69432 |
-Node: GFORTRAN_ERROR_DUMPCORE72294 |
-Node: GFORTRAN_ERROR_BACKTRACE72841 |
-Node: Fortran 2003 and 2008 status73392 |
-Node: Fortran 2003 status73632 |
-Node: Fortran 2008 status75323 |
-Node: Compiler Characteristics76292 |
-Node: KIND Type Parameters76630 |
-Node: Extensions77557 |
-Node: Extensions implemented in GNU Fortran78156 |
-Node: Old-style kind specifications79490 |
-Node: Old-style variable initialization80596 |
-Node: Extensions to namelist81908 |
-Node: X format descriptor without count field83904 |
-Node: Commas in FORMAT specifications84431 |
-Node: Missing period in FORMAT specifications84948 |
-Node: I/O item lists85510 |
-Node: BOZ literal constants85899 |
-Node: Real array indices88468 |
-Node: Unary operators88765 |
-Node: Implicitly convert LOGICAL and INTEGER values89179 |
-Node: Hollerith constants support90139 |
-Node: Cray pointers91911 |
-Node: CONVERT specifier97321 |
-Node: OpenMP99319 |
-Node: Argument list functions101574 |
-Node: Extensions not implemented in GNU Fortran103168 |
-Node: STRUCTURE and RECORD104020 |
-Node: ENCODE and DECODE statements106076 |
-Node: Intrinsic Procedures107394 |
-Node: Introduction to Intrinsics121084 |
-Node: ABORT123436 |
-Node: ABS124193 |
-Node: ACCESS125695 |
-Node: ACHAR127616 |
-Node: ACOS128817 |
-Node: ACOSH129815 |
-Node: ADJUSTL130692 |
-Node: ADJUSTR131633 |
-Node: AIMAG132580 |
-Node: AINT133900 |
-Node: ALARM135372 |
-Node: ALL137006 |
-Node: ALLOCATED138924 |
-Node: AND139805 |
-Node: ANINT141102 |
-Node: ANY142465 |
-Node: ASIN144395 |
-Node: ASINH145407 |
-Node: ASSOCIATED146289 |
-Node: ATAN149294 |
-Node: ATAN2150183 |
-Node: ATANH151527 |
-Node: BESSEL_J0152407 |
-Node: BESSEL_J1153451 |
-Node: BESSEL_JN154503 |
-Node: BESSEL_Y0155670 |
-Node: BESSEL_Y1156670 |
-Node: BESSEL_YN157670 |
-Node: BIT_SIZE158887 |
-Node: BTEST159716 |
-Node: C_ASSOCIATED160604 |
-Node: C_FUNLOC161813 |
-Node: C_F_PROCPOINTER163182 |
-Node: C_F_POINTER164811 |
-Node: C_LOC166229 |
-Node: C_SIZEOF167346 |
-Node: CEILING168699 |
-Node: CHAR169704 |
-Node: CHDIR170768 |
-Node: CHMOD171936 |
-Node: CMPLX173731 |
-Node: COMMAND_ARGUMENT_COUNT175195 |
-Node: COMPLEX176102 |
-Node: CONJG177245 |
-Node: COS178255 |
-Node: COSH179526 |
-Node: COUNT180495 |
-Node: CPU_TIME182351 |
-Node: CSHIFT183705 |
-Node: CTIME185361 |
-Node: DATE_AND_TIME186620 |
-Node: DBLE189081 |
-Node: DCMPLX189905 |
-Node: DFLOAT191099 |
-Node: DIGITS191793 |
-Node: DIM192759 |
-Node: DOT_PRODUCT193902 |
-Node: DPROD195558 |
-Node: DREAL196284 |
-Node: DTIME196948 |
-Node: EOSHIFT199754 |
-Node: EPSILON201827 |
-Node: ERF202553 |
-Node: ERFC203327 |
-Node: ERFC_SCALED204131 |
-Node: ETIME204823 |
-Node: EXIT207054 |
-Node: EXP207913 |
-Node: EXPONENT209071 |
-Node: FDATE209821 |
-Node: FLOAT211096 |
-Node: FGET211810 |
-Node: FGETC213604 |
-Node: FLOOR215372 |
-Node: FLUSH216356 |
-Node: FNUM216994 |
-Node: FPUT217716 |
-Node: FPUTC219317 |
-Node: FRACTION221057 |
-Node: FREE221958 |
-Node: FSEEK222795 |
-Node: FSTAT225089 |
-Node: FTELL226129 |
-Node: GAMMA227107 |
-Node: GERROR228148 |
-Node: GETARG228867 |
-Node: GET_COMMAND230631 |
-Node: GET_COMMAND_ARGUMENT231577 |
-Node: GETCWD233545 |
-Node: GETENV234491 |
-Node: GET_ENVIRONMENT_VARIABLE235713 |
-Node: GETGID237413 |
-Node: GETLOG237948 |
-Node: GETPID238806 |
-Node: GETUID239534 |
-Node: GMTIME240048 |
-Node: HOSTNM241537 |
-Node: HUGE242453 |
-Node: HYPOT243172 |
-Node: IACHAR243992 |
-Node: IAND245172 |
-Node: IARGC246159 |
-Node: IBCLR247182 |
-Node: IBITS247843 |
-Node: IBSET248758 |
-Node: ICHAR249414 |
-Node: IDATE251395 |
-Node: IEOR252422 |
-Node: IERRNO253298 |
-Node: INDEX intrinsic253853 |
-Node: INT255199 |
-Node: INT2256786 |
-Node: INT8257551 |
-Node: IOR258263 |
-Node: IRAND259113 |
-Node: IS_IOSTAT_END260465 |
-Node: IS_IOSTAT_EOR261560 |
-Node: ISATTY262685 |
-Node: ISHFT263468 |
-Node: ISHFTC264448 |
-Node: ISNAN265664 |
-Node: ITIME266412 |
-Node: KILL267437 |
-Node: KIND268310 |
-Node: LBOUND269155 |
-Node: LEADZ270467 |
-Node: LEN271271 |
-Node: LEN_TRIM272362 |
-Node: LGE273350 |
-Node: LGT274663 |
-Node: LINK275940 |
-Node: LLE276975 |
-Node: LLT278279 |
-Node: LNBLNK279549 |
-Node: LOC280325 |
-Node: LOG281056 |
-Node: LOG10282347 |
-Node: LOG_GAMMA283319 |
-Node: LOGICAL284407 |
-Node: LONG285211 |
-Node: LSHIFT285967 |
-Node: LSTAT286921 |
-Node: LTIME288075 |
-Node: MALLOC289490 |
-Node: MATMUL290950 |
-Node: MAX292040 |
-Node: MAXEXPONENT293539 |
-Node: MAXLOC294355 |
-Node: MAXVAL296404 |
-Node: MCLOCK298067 |
-Node: MCLOCK8299070 |
-Node: MERGE300284 |
-Node: MIN301026 |
-Node: MINEXPONENT302522 |
-Node: MINLOC303152 |
-Node: MINVAL305201 |
-Node: MOD306883 |
-Node: MODULO308375 |
-Node: MOVE_ALLOC309589 |
-Node: MVBITS310613 |
-Node: NEAREST311672 |
-Node: NEW_LINE312795 |
-Node: NINT313566 |
-Node: NOT314834 |
-Node: NULL315417 |
-Node: OR316315 |
-Node: PACK317593 |
-Node: PERROR319585 |
-Node: PRECISION320207 |
-Node: PRESENT321033 |
-Node: PRODUCT322139 |
-Node: RADIX323664 |
-Node: RAN324441 |
-Node: RAND324897 |
-Node: RANDOM_NUMBER326232 |
-Node: RANDOM_SEED327950 |
-Node: RANGE329833 |
-Node: REAL330457 |
-Node: RENAME331899 |
-Node: REPEAT332918 |
-Node: RESHAPE333644 |
-Node: RRSPACING335113 |
-Node: RSHIFT335806 |
-Node: SCALE336768 |
-Node: SCAN337542 |
-Node: SECNDS339092 |
-Node: SECOND340180 |
-Node: SELECTED_CHAR_KIND341056 |
-Node: SELECTED_INT_KIND342053 |
-Node: SELECTED_REAL_KIND343228 |
-Node: SET_EXPONENT345167 |
-Node: SHAPE346163 |
-Node: SIGN347276 |
-Node: SIGNAL348359 |
-Node: SIN349856 |
-Node: SINH350898 |
-Node: SIZE351710 |
-Node: SIZEOF353018 |
-Node: SLEEP354312 |
-Node: SNGL354869 |
-Node: SPACING355540 |
-Node: SPREAD356552 |
-Node: SQRT357697 |
-Node: SRAND358936 |
-Node: STAT360104 |
-Node: SUM363216 |
-Node: SYMLNK364685 |
-Node: SYSTEM365817 |
-Node: SYSTEM_CLOCK366765 |
-Node: TAN368109 |
-Node: TANH368945 |
-Node: TIME369812 |
-Node: TIME8370916 |
-Node: TINY372053 |
-Node: TRAILZ372653 |
-Node: TRANSFER373438 |
-Node: TRANSPOSE375472 |
-Node: TRIM376159 |
-Node: TTYNAM377016 |
-Node: UBOUND377931 |
-Node: UMASK379300 |
-Node: UNLINK379855 |
-Node: UNPACK380832 |
-Node: VERIFY382120 |
-Node: XOR383836 |
-Node: Intrinsic Modules385144 |
-Node: Contributing390935 |
-Node: Contributors391787 |
-Node: Projects393410 |
-Node: Proposed Extensions394213 |
-Node: Copying396264 |
-Node: GNU Free Documentation License433828 |
-Node: Funding456240 |
-Node: Option Index458765 |
-Node: Keyword Index470647 |
+Node: Top2126 |
+Node: Introduction3504 |
+Node: About GNU Fortran4251 |
+Node: GNU Fortran and GCC8238 |
+Node: Preprocessing and conditional compilation10350 |
+Node: GNU Fortran and G7711991 |
+Node: Project Status12564 |
+Node: Standards15096 |
+Node: Varying Length Character Strings16492 |
+Node: Invoking GNU Fortran17026 |
+Node: Option Summary18749 |
+Node: Fortran Dialect Options22378 |
+Node: Preprocessing Options29416 |
+Node: Error and Warning Options37542 |
+Node: Debugging Options45176 |
+Node: Directory Options47339 |
+Node: Link Options48854 |
+Node: Runtime Options49478 |
+Node: Code Gen Options51727 |
+Node: Environment Variables66487 |
+Node: Runtime67092 |
+Node: GFORTRAN_STDIN_UNIT68320 |
+Node: GFORTRAN_STDOUT_UNIT68687 |
+Node: GFORTRAN_STDERR_UNIT69088 |
+Node: GFORTRAN_USE_STDERR69486 |
+Node: GFORTRAN_TMPDIR69931 |
+Node: GFORTRAN_UNBUFFERED_ALL70372 |
+Node: GFORTRAN_UNBUFFERED_PRECONNECTED70895 |
+Node: GFORTRAN_SHOW_LOCUS71537 |
+Node: GFORTRAN_OPTIONAL_PLUS72031 |
+Node: GFORTRAN_DEFAULT_RECL72506 |
+Node: GFORTRAN_LIST_SEPARATOR72997 |
+Node: GFORTRAN_CONVERT_UNIT73606 |
+Node: GFORTRAN_ERROR_DUMPCORE76468 |
+Node: GFORTRAN_ERROR_BACKTRACE77015 |
+Node: Fortran 2003 and 2008 status77566 |
+Node: Fortran 2003 status77806 |
+Node: Fortran 2008 status80175 |
+Node: Compiler Characteristics81276 |
+Node: KIND Type Parameters81751 |
+Node: Internal representation of LOGICAL variables82731 |
+Node: Extensions84042 |
+Node: Extensions implemented in GNU Fortran84643 |
+Node: Old-style kind specifications85977 |
+Node: Old-style variable initialization87083 |
+Node: Extensions to namelist88395 |
+Node: X format descriptor without count field90391 |
+Node: Commas in FORMAT specifications90918 |
+Node: Missing period in FORMAT specifications91435 |
+Node: I/O item lists91997 |
+Node: BOZ literal constants92386 |
+Node: Real array indices94956 |
+Node: Unary operators95253 |
+Node: Implicitly convert LOGICAL and INTEGER values95667 |
+Node: Hollerith constants support96627 |
+Node: Cray pointers98399 |
+Node: CONVERT specifier103809 |
+Node: OpenMP105807 |
+Node: Argument list functions108054 |
+Node: Extensions not implemented in GNU Fortran109658 |
+Node: STRUCTURE and RECORD110542 |
+Node: ENCODE and DECODE statements112598 |
+Node: Variable FORMAT expressions113956 |
+Node: Mixed-Language Programming115013 |
+Node: Interoperability with C115556 |
+Node: Intrinsic Types116863 |
+Node: Derived Types and struct117394 |
+Node: Interoperable Global Variables118775 |
+Node: Interoperable Subroutines and Functions120047 |
+Node: Further Interoperability of Fortran with C124600 |
+Node: GNU Fortran Compiler Directives125606 |
+Node: Non-Fortran Main Program127803 |
+Node: _gfortran_set_args129941 |
+Node: _gfortran_set_options130875 |
+Node: _gfortran_set_convert133711 |
+Node: _gfortran_set_record_marker134575 |
+Node: _gfortran_set_fpe135399 |
+Node: _gfortran_set_max_subrecord_length136611 |
+Node: Intrinsic Procedures137566 |
+Node: Introduction to Intrinsics151256 |
+Node: ABORT153608 |
+Node: ABS154365 |
+Node: ACCESS155867 |
+Node: ACHAR157788 |
+Node: ACOS158989 |
+Node: ACOSH160111 |
+Node: ADJUSTL161112 |
+Node: ADJUSTR162053 |
+Node: AIMAG163000 |
+Node: AINT164320 |
+Node: ALARM165792 |
+Node: ALL167426 |
+Node: ALLOCATED169344 |
+Node: AND170225 |
+Node: ANINT171522 |
+Node: ANY172885 |
+Node: ASIN174815 |
+Node: ASINH175926 |
+Node: ASSOCIATED176937 |
+Node: ATAN179942 |
+Node: ATAN2181241 |
+Node: ATANH182762 |
+Node: BESSEL_J0183771 |
+Node: BESSEL_J1184815 |
+Node: BESSEL_JN185867 |
+Node: BESSEL_Y0187082 |
+Node: BESSEL_Y1188082 |
+Node: BESSEL_YN189082 |
+Node: BIT_SIZE190299 |
+Node: BTEST191128 |
+Node: C_ASSOCIATED192016 |
+Node: C_FUNLOC193225 |
+Node: C_F_PROCPOINTER194594 |
+Node: C_F_POINTER196095 |
+Node: C_LOC197513 |
+Node: C_SIZEOF198630 |
+Node: CEILING199983 |
+Node: CHAR200988 |
+Node: CHDIR202052 |
+Node: CHMOD203220 |
+Node: CMPLX205015 |
+Node: COMMAND_ARGUMENT_COUNT206479 |
+Node: COMPLEX207395 |
+Node: CONJG208538 |
+Node: COS209548 |
+Node: COSH210879 |
+Node: COUNT211929 |
+Node: CPU_TIME213945 |
+Node: CSHIFT215299 |
+Node: CTIME216955 |
+Node: DATE_AND_TIME218214 |
+Node: DBLE220675 |
+Node: DCMPLX221499 |
+Node: DFLOAT222693 |
+Node: DIGITS223387 |
+Node: DIM224353 |
+Node: DOT_PRODUCT225496 |
+Node: DPROD227152 |
+Node: DREAL227878 |
+Node: DTIME228542 |
+Node: EOSHIFT231343 |
+Node: EPSILON233416 |
+Node: ERF234142 |
+Node: ERFC234916 |
+Node: ERFC_SCALED235720 |
+Node: ETIME236412 |
+Node: EXIT238637 |
+Node: EXP239496 |
+Node: EXPONENT240654 |
+Node: FDATE241404 |
+Node: FLOAT242679 |
+Node: FGET243393 |
+Node: FGETC245187 |
+Node: FLOOR246955 |
+Node: FLUSH247939 |
+Node: FNUM248577 |
+Node: FPUT249299 |
+Node: FPUTC250900 |
+Node: FRACTION252640 |
+Node: FREE253541 |
+Node: FSEEK254378 |
+Node: FSTAT256672 |
+Node: FTELL257716 |
+Node: GAMMA258694 |
+Node: GERROR259735 |
+Node: GETARG260454 |
+Node: GET_COMMAND262218 |
+Node: GET_COMMAND_ARGUMENT263582 |
+Node: GETCWD265601 |
+Node: GETENV266547 |
+Node: GET_ENVIRONMENT_VARIABLE267769 |
+Node: GETGID269634 |
+Node: GETLOG270169 |
+Node: GETPID271027 |
+Node: GETUID271755 |
+Node: GMTIME272269 |
+Node: HOSTNM273758 |
+Node: HUGE274674 |
+Node: HYPOT275393 |
+Node: IACHAR276213 |
+Node: IAND277393 |
+Node: IARGC278380 |
+Node: IBCLR279403 |
+Node: IBITS280064 |
+Node: IBSET280979 |
+Node: ICHAR281635 |
+Node: IDATE283616 |
+Node: IEOR284643 |
+Node: IERRNO285519 |
+Node: INDEX intrinsic286074 |
+Node: INT287420 |
+Node: INT2289007 |
+Node: INT8289772 |
+Node: IOR290484 |
+Node: IRAND291334 |
+Node: IS_IOSTAT_END292686 |
+Node: IS_IOSTAT_EOR293781 |
+Node: ISATTY294906 |
+Node: ISHFT295689 |
+Node: ISHFTC296669 |
+Node: ISNAN297885 |
+Node: ITIME298633 |
+Node: KILL299658 |
+Node: KIND300531 |
+Node: LBOUND301376 |
+Node: LEADZ302688 |
+Node: LEN303492 |
+Node: LEN_TRIM304583 |
+Node: LGE305565 |
+Node: LGT306877 |
+Node: LINK308154 |
+Node: LLE309189 |
+Node: LLT310493 |
+Node: LNBLNK311763 |
+Node: LOC312539 |
+Node: LOG313270 |
+Node: LOG10314561 |
+Node: LOG_GAMMA315535 |
+Node: LOGICAL316624 |
+Node: LONG317432 |
+Node: LSHIFT318188 |
+Node: LSTAT319142 |
+Node: LTIME320300 |
+Node: MALLOC321713 |
+Node: MATMUL323173 |
+Node: MAX324263 |
+Node: MAXEXPONENT325762 |
+Node: MAXLOC326578 |
+Node: MAXVAL328597 |
+Node: MCLOCK330230 |
+Node: MCLOCK8331233 |
+Node: MERGE332447 |
+Node: MIN333189 |
+Node: MINEXPONENT334685 |
+Node: MINLOC335315 |
+Node: MINVAL337334 |
+Node: MOD338986 |
+Node: MODULO340478 |
+Node: MOVE_ALLOC341692 |
+Node: MVBITS342716 |
+Node: NEAREST343775 |
+Node: NEW_LINE344898 |
+Node: NINT345669 |
+Node: NOT346937 |
+Node: NULL347520 |
+Node: OR348418 |
+Node: PACK349696 |
+Node: PERROR351688 |
+Node: PRECISION352310 |
+Node: PRESENT353136 |
+Node: PRODUCT354242 |
+Node: RADIX355767 |
+Node: RAN356544 |
+Node: RAND357000 |
+Node: RANDOM_NUMBER358332 |
+Node: RANDOM_SEED360050 |
+Node: RANGE361935 |
+Node: REAL362559 |
+Node: RENAME363998 |
+Node: REPEAT365017 |
+Node: RESHAPE365743 |
+Node: RRSPACING367212 |
+Node: RSHIFT367905 |
+Node: SCALE368867 |
+Node: SCAN369641 |
+Node: SECNDS371191 |
+Node: SECOND372279 |
+Node: SELECTED_CHAR_KIND373155 |
+Node: SELECTED_INT_KIND374152 |
+Node: SELECTED_REAL_KIND375327 |
+Node: SET_EXPONENT377268 |
+Node: SHAPE378264 |
+Node: SIGN379377 |
+Node: SIGNAL380460 |
+Node: SIN381957 |
+Node: SINH382999 |
+Node: SIZE383880 |
+Node: SIZEOF385188 |
+Node: SLEEP386482 |
+Node: SNGL387039 |
+Node: SPACING387710 |
+Node: SPREAD388722 |
+Node: SQRT389867 |
+Node: SRAND391106 |
+Node: STAT392274 |
+Node: SUM395397 |
+Node: SYMLNK396871 |
+Node: SYSTEM398003 |
+Node: SYSTEM_CLOCK398951 |
+Node: TAN400295 |
+Node: TANH401152 |
+Node: TIME402188 |
+Node: TIME8403292 |
+Node: TINY404429 |
+Node: TRAILZ405029 |
+Node: TRANSFER405814 |
+Node: TRANSPOSE407848 |
+Node: TRIM408535 |
+Node: TTYNAM409392 |
+Node: UBOUND410307 |
+Node: UMASK411676 |
+Node: UNLINK412347 |
+Node: UNPACK413324 |
+Node: VERIFY414612 |
+Node: XOR416328 |
+Node: Intrinsic Modules417700 |
+Node: ISO_FORTRAN_ENV417943 |
+Node: ISO_C_BINDING419588 |
+Node: OpenMP Modules OMP_LIB and OMP_LIB_KINDS423257 |
+Node: Contributing424217 |
+Node: Contributors425069 |
+Node: Projects426736 |
+Node: Proposed Extensions427539 |
+Node: Copying429590 |
+Node: GNU Free Documentation License467154 |
+Node: Funding489566 |
+Node: Option Index492091 |
+Node: Keyword Index504333 |
End Tag Table |