forked from OSchip/llvm-project
13e9617ea2
A `BLOCK` statement opens a new scope. It is different from other scopes in that implicitly typed entities are defined in the enclosing non-block scope, not immediately in the block. This means that `IMPORT` statements can cause them to be hidden. Check that blocks can't have `IMPLICIT` statements in them. It is simpler for the parser not to deal with the different between a specification-part and a block-specification-part. Change `ImplicitRules` to have a parent that is consulted when there isn't an answer in the current one. For an interface body that does not happen but for all other nested scopes it does. This parent link eliminates the need for the `implicitRules_` stack. Make `isImplicitNoneType_` and `isImplicitNoneExternal_` optional: not set means look in parent. Fixes flang-compiler/f18#71. Remove `CurrNonTypeScope()` and put the logic in `Symbol::FindSymbol`. Original-commit: flang-compiler/f18@a153a2ee33 Reviewed-on: https://github.com/flang-compiler/f18/pull/169 Tree-same-pre-rewrite: false |
||
---|---|---|
.. | ||
evaluate | ||
semantics | ||
CMakeLists.txt |