From 2163e662c64f892ef9952f6e57b6cda2f4403479 Mon Sep 17 00:00:00 2001 From: Peter Klausler Date: Thu, 29 Jun 2023 13:03:14 -0700 Subject: [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 --- flang/docs/Extensions.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'flang/docs') 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 -- cgit v1.1