diff options
author | Peter Klausler <pklausler@nvidia.com> | 2025-05-13 07:48:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-13 07:48:30 -0700 |
commit | e75fda107da8bd6a3993bf1e3cb51dc03e952e23 (patch) | |
tree | 26c3223b922ee83adae5549bb2ed1d1f946ed510 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 2ca2e1c9d5e353064586ccc314377dc4ef1bf25d (diff) | |
download | llvm-e75fda107da8bd6a3993bf1e3cb51dc03e952e23.zip llvm-e75fda107da8bd6a3993bf1e3cb51dc03e952e23.tar.gz llvm-e75fda107da8bd6a3993bf1e3cb51dc03e952e23.tar.bz2 |
[flang] Acknowledge non-enforcement of C7108 (#139169)
Fortran 2023 constraint C7108 prohibits the use of a structure
constructor in a way that is ambiguous with a generic function reference
(intrinsic or user-defined). Sadly, no Fortran compiler implements this
constraint, and the common portable interpretation seems to be the
generic resolution, not the structure constructor.
Restructure the processing of structure constructors in expression
analysis so that it can be driven both from the parse tree as well as
from generic resolution, and then use it to detect ambigous structure
constructor / generic function cases, so that a portability warning can
be issued. And document this as a new intentional violation of the
standard in Extensions.md.
Fixes https://github.com/llvm/llvm-project/issues/138807.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions