bc469ef570
We need to save the names of specific procedures that appear in a ProcedureStmt or GenericStmt to resolve at the end of the specification section. They may be forward references to interface bodies. We were saving them in the GenericDetails but that was not the right place: we need to save the parser::Name so that we can eventually resolve it to a Symbol, but the symbol table should not contains references to Name because they go away with the parse tree. The fix is to save the mapping in a new multimap, specificProcs_ in InterfaceVisitor. We can reference parser::Names there and resolve them during ResolveSpecificsInGenerics(). We no longer need to clutter GenericDetails with data structures for unresolved names. Also handle the case where a specific procedure is use-associated from another module. Original-commit: flang-compiler/f18@c7f7b1e72d Reviewed-on: https://github.com/flang-compiler/f18/pull/249 Tree-same-pre-rewrite: false |
||
---|---|---|
.. | ||
common | ||
evaluate | ||
parser | ||
semantics | ||
CMakeLists.txt |