[flang-commits] [flang] [flang][NFC] Document an intentional violation of the standard (PR #99073)

Peter Klausler via flang-commits flang-commits at lists.llvm.org
Tue Jul 16 11:29:15 PDT 2024


https://github.com/klausler created https://github.com/llvm/llvm-project/pull/99073

The Fortran standard committees passed an "interp" request at their June 2024 meetings that is contrary to what every other Fortran compiler that I tried (6) does with an ambiguous case (parent component naming when the base type has been renamed via USE association). Document this case in flang/docs/Extensions.md as an intentional instance of non-conformance chosen for portability and better usability.

>From 68ca76f10ce183992d64990c2c9edf982f26fb59 Mon Sep 17 00:00:00 2001
From: Peter Klausler <pklausler at nvidia.com>
Date: Tue, 16 Jul 2024 11:23:11 -0700
Subject: [PATCH] [flang][NFC] Document an intentional violation of the
 standard

The Fortran standard committees passed an "interp" request at their
June 2024 meetings that is contrary to what every other Fortran
compiler that I tried (6) does with an ambiguous case (parent component
naming when the base type has been renamed via USE association).
Document this case in flang/docs/Extensions.md as an intentional
instance of non-conformance chosen for portability and better
usability.
---
 flang/docs/Extensions.md | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md
index 82f9a021c14ee..093596c9dc8eb 100644
--- a/flang/docs/Extensions.md
+++ b/flang/docs/Extensions.md
@@ -134,6 +134,13 @@ end
   implicitly simply appearing in an asynchronous data transfer statement,
   without the attribute being visible in the procedure's explicit
   interface.
+* When the name of an extended derived type's base type is the
+  result of `USE` association with renaming, the name of the extended
+  derived type's parent component is the new name by which the base
+  is known in the scope of the extended derived type, not the original.
+  This interpretation has usability advantages and is what six other
+  Fortran compilers do, but is not conforming now that J3 approved an
+  "interp" in June 2024 to the contrary.
 
 ## Extensions, deletions, and legacy features supported by default
 



More information about the flang-commits mailing list