aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorPeter Klausler <pklausler@nvidia.com>2025-05-13 07:48:30 -0700
committerGitHub <noreply@github.com>2025-05-13 07:48:30 -0700
commite75fda107da8bd6a3993bf1e3cb51dc03e952e23 (patch)
tree26c3223b922ee83adae5549bb2ed1d1f946ed510 /clang/lib/CodeGen/CodeGenModule.cpp
parent2ca2e1c9d5e353064586ccc314377dc4ef1bf25d (diff)
downloadllvm-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