summaryrefslogtreecommitdiff
path: root/flang/lib/parser/parse-tree.cc
diff options
context:
space:
mode:
authorTim Keith <tkeith@nvidia.com>2018-07-20 10:46:11 -0700
committerTim Keith <tkeith@nvidia.com>2018-07-20 10:46:11 -0700
commitdded0e4bb25f3ea2c40a63e9af34ecfa4efdc57d (patch)
treefdb3600275e2205e1fe9e7403daec68279fdbf94 /flang/lib/parser/parse-tree.cc
parent759a405a431437fe8f9c5ba7c3585d920106e18d (diff)
downloadllvm-dded0e4bb25f3ea2c40a63e9af34ecfa4efdc57d.tar.gz
[flang] Correctly resolve generics with forward references
When a procedure is included by name in a generic (either with a procedure statement in a generic interface or with a generic statement) we can't immediately resolve it to a subprogram symbol. That is because the subprogram may be defined later in the specification part. Instead, collect the names (and whether they should be module procedures) and resolve them to symbols at the end of the specification part. Also detect duplicate names then. This is needed for module file reading as these forward references can occur there. Write generics to module file using generic statements. This allows us to include the access-spec. Original-commit: flang-compiler/f18@d11d002084af4a25d0c9a63dbe6460530b56adc7 Reviewed-on: https://github.com/flang-compiler/f18/pull/132
Diffstat (limited to 'flang/lib/parser/parse-tree.cc')
0 files changed, 0 insertions, 0 deletions