diff options
author | Peter Klausler <pklausler@nvidia.com> | 2024-10-07 13:17:10 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-07 13:17:10 -0700 |
commit | ce5edfd232c38ec4e4642b15cdb4dd8ecf105b04 (patch) | |
tree | 28eccc8ddaeb6042863d10407be05adff5f05f4a /clang/lib/CodeGen/ModuleBuilder.cpp | |
parent | 8882d5912322ce9c199181e46b8c07d24ed6095d (diff) | |
download | llvm-ce5edfd232c38ec4e4642b15cdb4dd8ecf105b04.zip llvm-ce5edfd232c38ec4e4642b15cdb4dd8ecf105b04.tar.gz llvm-ce5edfd232c38ec4e4642b15cdb4dd8ecf105b04.tar.bz2 |
[flang] Finer error detection in separate module procedure case (#110912)
When a separate module procedure has a dummy procedure argument that is
simply declared EXTERNAL in its interface but is actually called as a
subroutine or function in its definition, the compiler is emitting an
error message. This is too strong; an error is appropriate only when the
dummy procedure in the definition has an interface that is incompatible
with the one in the interface definition.
However, this is not a safe coding practice, and can lead to trouble
during execution if a function is passed as an actual argument but
called as a subroutine in the procedure (or the other way around), so
add a warning message as well for this case (off by default).
Fixes https://github.com/llvm/llvm-project/issues/110797.
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions