diff options
author | Peter Klausler <pklausler@nvidia.com> | 2023-06-29 13:03:14 -0700 |
---|---|---|
committer | Peter Klausler <pklausler@nvidia.com> | 2023-07-03 11:22:14 -0700 |
commit | 2163e662c64f892ef9952f6e57b6cda2f4403479 (patch) | |
tree | 28f6dc07ade23ed2829fcafa7fa4531edbc9b2bd /flang/docs | |
parent | b2b43794b977d0a4b11bddb9fee4f04cbddce25d (diff) | |
download | llvm-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.md | 7 |
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 |