[flang] Fix IMPLICIT issue 547
So far, in `ImplicitRules` class, `isImplicitNoneType_` is a ternary unset -> nothing about implicit in this scope, look into parents set true -> There is an IMPLICIT NONE for types in this scope. set to false -> There is an IMPLICIT statement mapping types in this false. However, it was never set to false, so the IMPORT NONE of parent scopes was "leaking" when it should not. Set `isImplicitNoneType_` to false if an IMPLICIT statement is met to fix the issue. However, this change made the current name-resolution to then completly disregard parent scope IMPLICIT NONE even for letters for which no mapping were defined in the current scope. To fix this `GetType` was modified to check for implicit none. This led to `ApplyImplicitRules` to do redudant check, so it was reorganised to querry for a type and complain if gets a nuulptr. `GetImplicitType` was modified to avoid redundant error message. Original-commit: flang-compiler/f18@962dbf3d8be5dc1a6780544bf1be5a803b6d7724 Reviewed-on: https://github.com/flang-compiler/f18/pull/635 Tree-same-pre-rewrite: false
Loading
Please sign in to comment