[flang] Resolve procedure bindings and final procedures in derived types
authorTim Keith <tkeith@nvidia.com>
Fri, 31 Aug 2018 23:20:00 +0000 (16:20 -0700)
committerTim Keith <tkeith@nvidia.com>
Fri, 31 Aug 2018 23:20:00 +0000 (16:20 -0700)
commite0b94a84c3893caa4ecb4c94f5d979ff94a09a10
treed8d5946a86ca24275afdaa634fd1c7a8cbaa9aa9
parentb8efe4bf11a6123e7fde8f906787231ee64f275c
[flang] Resolve procedure bindings and final procedures in derived types

Add new kinds of symbol details: ProcBindingDetails, FinalProcDetails.
and GenericBindingDetails. The last is not yet implemented.
Write them to the .mod file.

Recognize DEFERRED and NON_OVERRIDABLE attributes. Enforce C783.

Resolve CLASS(t) similarly to resolution of TYPE(t).

Original-commit: flang-compiler/f18@0c0a9ab79eacd725900e4452ca352a46bec226a3
Reviewed-on: https://github.com/flang-compiler/f18/pull/173
Tree-same-pre-rewrite: false
flang/lib/semantics/mod-file.cc
flang/lib/semantics/mod-file.h
flang/lib/semantics/resolve-names.cc
flang/lib/semantics/symbol.cc
flang/lib/semantics/symbol.h
flang/test/semantics/CMakeLists.txt
flang/test/semantics/modfile10.f90 [new file with mode: 0644]
flang/test/semantics/resolve32.f90 [new file with mode: 0644]