aboutsummaryrefslogtreecommitdiff
path: root/flang/docs/Extensions.md
diff options
context:
space:
mode:
Diffstat (limited to 'flang/docs/Extensions.md')
-rw-r--r--flang/docs/Extensions.md34
1 files changed, 17 insertions, 17 deletions
diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md
index 420b751..6d87209 100644
--- a/flang/docs/Extensions.md
+++ b/flang/docs/Extensions.md
@@ -84,7 +84,7 @@ end
be "local identifiers" and should be distinct in the "inclusive
scope" -- i.e., not scoped by `BLOCK` constructs.
As most (but not all) compilers implement `BLOCK` scoping of construct
- names, so does f18, with a portability warning.
+ names, so does Flang, with a portability warning.
* 15.6.4 paragraph 2 prohibits an implicitly typed statement function
from sharing the same name as a symbol in its scope's host, if it
has one.
@@ -153,7 +153,7 @@ end
that a call to intrinsic module procedure `ieee_support_halting` with
a constant argument has a compile time constant result in `constant
expression` and `specification expression` contexts. In compilations
- where this information is not known at compile time, f18 generates code
+ where this information is not known at compile time, Flang generates code
to determine the absence or presence of this capability at runtime.
A call to `ieee_support_halting` in contexts that the standard requires
to be constant will generate a compilation error. `ieee_support_standard`
@@ -366,7 +366,7 @@ end
* The legacy extension intrinsic functions `IZEXT` and `JZEXT`
are supported; `ZEXT` has different behavior with various older
compilers, so it is not supported.
-* f18 doesn't impose a limit on the number of continuation lines
+* Flang doesn't impose a limit on the number of continuation lines
allowed for a single statement.
* When a type-bound procedure declaration statement has neither interface
nor attributes, the "::" before the bindings is optional, even
@@ -553,7 +553,7 @@ end
* Fortran explicitly ignores type declaration statements when they
attempt to type the name of a generic intrinsic function (8.2 p3).
One can declare `CHARACTER::COS` and still get a real result
- from `COS(3.14159)`, for example. f18 will complain when a
+ from `COS(3.14159)`, for example. Flang will complain when a
generic intrinsic function's inferred result type does not
match an explicit declaration. This message is a warning.
@@ -570,7 +570,7 @@ end
## Standard features that might as well not be
-* f18 supports designators with constant expressions, properly
+* Flang supports designators with constant expressions, properly
constrained, as initial data targets for data pointers in
initializers of variable and component declarations and in
`DATA` statements; e.g., `REAL, POINTER :: P => T(1:10:2)`.
@@ -587,8 +587,8 @@ end
* The standard doesn't explicitly require that a named constant that
appears as part of a complex-literal-constant be a scalar, but
most compilers emit an error when an array appears.
- f18 supports them with a portability warning.
-* f18 does not enforce a blanket prohibition against generic
+ Flang supports them with a portability warning.
+* Flang does not enforce a blanket prohibition against generic
interfaces containing a mixture of functions and subroutines.
We allow both to appear, unlike several other Fortran compilers.
This is especially desirable when two generics of the same
@@ -655,7 +655,7 @@ end
treat them as references to implicitly typed local variables, and
load uninitialized values.
- In f18, we chose to emit an error message for this case since the standard
+ In Flang, we chose to emit an error message for this case since the standard
is unclear, the usage is not portable, and the issue can be easily resolved
by adding a declaration.
@@ -686,7 +686,7 @@ end
* When a `DATA` statement in a `BLOCK` construct could be construed as
either initializing a host-associated object or declaring a new local
- initialized object, f18 interprets the standard's classification of
+ initialized object, Flang interprets the standard's classification of
a `DATA` statement as being a "declaration" rather than a "specification"
construct, and notes that the `BLOCK` construct is defined as localizing
names that have specifications in the `BLOCK` construct.
@@ -703,7 +703,7 @@ end subroutine
Other Fortran compilers disagree with each other in their interpretations
of this example.
The precedent among the most commonly used compilers
- agrees with f18's interpretation: a `DATA` statement without any other
+ agrees with Flang's interpretation: a `DATA` statement without any other
specification of the name refers to the host-associated object.
* Many Fortran compilers allow a non-generic procedure to be `USE`-associated
@@ -729,7 +729,7 @@ module m2
end module
```
- This case elicits a warning from f18, as it should not be treated
+ This case elicits a warning from Flang, as it should not be treated
any differently than the same case with the non-generic procedure of
the same name being defined in the same scope rather than being
`USE`-associated into it, which is explicitly non-conforming in the
@@ -747,7 +747,7 @@ end module
symbols, much less appear in specification inquiries, and there are
application codes that expect exterior symbols whose names match
components to be visible in a derived-type definition's default initialization
- expressions, and so f18 follows that precedent.
+ expressions, and so Flang follows that precedent.
* 19.3.1p1 "Within its scope, a local identifier of an entity of class (1)
or class (4) shall not be the same as a global identifier used in that scope..."
@@ -769,17 +769,17 @@ end module
left-hand side for a pointer assignment statement, and we emit a
portability warning when it is not.
-* F18 allows a `USE` statement to reference a module that is defined later
+* Flang allows a `USE` statement to reference a module that is defined later
in the same compilation unit, so long as mutual dependencies do not form
a cycle.
This feature forestalls any risk of such a `USE` statement reading an
obsolete module file from a previous compilation and then overwriting
that file later.
-* F18 allows `OPTIONAL` dummy arguments to interoperable procedures
+* Flang allows `OPTIONAL` dummy arguments to interoperable procedures
unless they are `VALUE` (C865).
-* F18 processes the `NAMELIST` group declarations in a scope after it
+* Flang processes the `NAMELIST` group declarations in a scope after it
has resolved all of the names in that scope. This means that names
that appear before their local declarations do not resolve to host
associated objects and do not elicit errors about improper redeclarations
@@ -862,11 +862,11 @@ print *, [(j,j=1,10)]
* The Fortran standard doesn't mention integer overflow explicitly. In many cases,
however, integer overflow makes programs non-conforming.
- F18 follows other widely-used Fortran compilers. Specifically, f18 assumes
+ Flang follows other widely-used Fortran compilers. Specifically, Flang assumes
integer overflow never occurs in address calculations and increment of
do-variable unless the option `-fwrapv` is enabled.
-* Two new ieee_round_type values were added in f18 beyond the four values
+* Two new ieee_round_type values were added in Flang beyond the four values
defined in f03 and f08: ieee_away and ieee_other. Contemporary hardware
typically does not have support for these rounding modes;
ieee_support_rounding calls for these values return false.