[flang-commits] [flang] 2163e66 - [flang][NFC] Document semantics of an ambiguous/non-portable use case
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Mon Jul 3 11:28:00 PDT 2023
Author: Peter Klausler
Date: 2023-07-03T11:22:14-07:00
New Revision: 2163e662c64f892ef9952f6e57b6cda2f4403479
URL: https://github.com/llvm/llvm-project/commit/2163e662c64f892ef9952f6e57b6cda2f4403479
DIFF: https://github.com/llvm/llvm-project/commit/2163e662c64f892ef9952f6e57b6cda2f4403479.diff
LOG: [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
Added:
Modified:
flang/docs/Extensions.md
Removed:
################################################################################
diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md
index a422b2c7eb0a49..eb885b3aaeb785 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
More information about the flang-commits
mailing list