diff options
Diffstat (limited to 'flang/lib/Semantics/resolve-names-utils.cpp')
-rw-r--r-- | flang/lib/Semantics/resolve-names-utils.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/flang/lib/Semantics/resolve-names-utils.cpp b/flang/lib/Semantics/resolve-names-utils.cpp index a838d49..347f54e0 100644 --- a/flang/lib/Semantics/resolve-names-utils.cpp +++ b/flang/lib/Semantics/resolve-names-utils.cpp @@ -762,7 +762,11 @@ void SymbolMapper::MapSymbolExprs(Symbol &symbol) { proc.set_procInterfaces( *mappedSymbol, BypassGeneric(mappedSymbol->GetUltimate())); } else if (const DeclTypeSpec * mappedType{MapType(proc.type())}) { - proc.set_type(*mappedType); + if (proc.type()) { + CHECK(*proc.type() == *mappedType); + } else { + proc.set_type(*mappedType); + } } if (proc.init()) { if (const Symbol * mapped{MapSymbol(*proc.init())}) { |