aboutsummaryrefslogtreecommitdiff
path: root/flang/docs
diff options
context:
space:
mode:
authorPeter Klausler <pklausler@nvidia.com>2023-06-29 13:03:14 -0700
committerPeter Klausler <pklausler@nvidia.com>2023-07-03 11:22:14 -0700
commit2163e662c64f892ef9952f6e57b6cda2f4403479 (patch)
tree28f6dc07ade23ed2829fcafa7fa4531edbc9b2bd /flang/docs
parentb2b43794b977d0a4b11bddb9fee4f04cbddce25d (diff)
downloadllvm-2163e662c64f892ef9952f6e57b6cda2f4403479.zip
llvm-2163e662c64f892ef9952f6e57b6cda2f4403479.tar.gz
llvm-2163e662c64f892ef9952f6e57b6cda2f4403479.tar.bz2
[flang][NFC] Document semantics of an ambiguous/non-portable use case
We intentionally process NAMELIST groups in a scope after having resolved all of the names in that scope. This means that a name whose first appearance in a scope is in the NAMELIST group resolves to a local object, if any, rather than to any host associated object. The standard is unclear on this point, and there is no clear precedent in other compilers. This patch doesn't implement this choice -- that was done long ago -- but just documents the behavior in Extensions.md. Differential Revision: https://reviews.llvm.org/D154375
Diffstat (limited to 'flang/docs')
-rw-r--r--flang/docs/Extensions.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md
index a422b2c..eb885b3 100644
--- a/flang/docs/Extensions.md
+++ b/flang/docs/Extensions.md
@@ -581,6 +581,13 @@ end module
* F18 allows `OPTIONAL` dummy arguments to interoperable procedures
unless they are `VALUE` (C865).
+* F18 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
+ of implicitly typed entities.
+
+
## De Facto Standard Features
* `EXTENDS_TYPE_OF()` returns `.TRUE.` if both of its arguments have the