diff options
author | Peter Klausler <pklausler@nvidia.com> | 2023-08-02 13:41:40 -0700 |
---|---|---|
committer | Peter Klausler <pklausler@nvidia.com> | 2023-08-08 10:48:54 -0700 |
commit | 078b1c42f6c8bdad8aea2b99ac4b4ac79ca5665c (patch) | |
tree | bcbbe1870f1b00a35476368dda90f36f79e06fa6 /flang/lib/Semantics/resolve-names-utils.cpp | |
parent | d325c5d00b148ae430b749817bb4182a4af4eeff (diff) | |
download | llvm-078b1c42f6c8bdad8aea2b99ac4b4ac79ca5665c.zip llvm-078b1c42f6c8bdad8aea2b99ac4b4ac79ca5665c.tar.gz llvm-078b1c42f6c8bdad8aea2b99ac4b4ac79ca5665c.tar.bz2 |
[flang] Don't complain about implicitly-typed dummy arguments inherited into an IMPLICIT NONE submodule
When a module procedure's interface is defined in an ancestor (sub)module
with an implicitly typed dummy argument, don't emit a bogus error in
the separate module procedure later if its submodule has IMPLICIT NONE.
Fixes llvm-test-suite/Fortran/gfortran/regression/submodule_26.f90.
Differential Revision: https://reviews.llvm.org/D157335
Diffstat (limited to 'flang/lib/Semantics/resolve-names-utils.cpp')
-rw-r--r-- | flang/lib/Semantics/resolve-names-utils.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/flang/lib/Semantics/resolve-names-utils.cpp b/flang/lib/Semantics/resolve-names-utils.cpp index c3be572..2f8e577 100644 --- a/flang/lib/Semantics/resolve-names-utils.cpp +++ b/flang/lib/Semantics/resolve-names-utils.cpp @@ -917,6 +917,7 @@ void MapSubprogramToNewSymbols(const Symbol &oldSymbol, Symbol &newSymbol, if (!dummyArg) { newDetails.add_alternateReturn(); } else if (Symbol *copy{newScope.CopySymbol(*dummyArg)}) { + copy->set(Symbol::Flag::Implicit, false); newDetails.add_dummyArg(*copy); mappings->symbolMap[dummyArg] = copy; } |