[flang] More coarray name resolution and semantic checks
Add CoarrayChecker to check for valid team-value in CHANGE TEAM, SYNC TEAM, and image selector. Check that coarray names and selector names are distinct in CHANGE TEAM. Resolve the variable in a coarray-association. Create a scope for the construct entities of a CHANGE TEAM construct. Add ResolveSelector to resolve a parser::Selector into an Expr and optional variable name (and a source location for messages). Make use of ResolveSelector to handle coarray-association, as well as it's previous use in associate-stmt. Improve the check for C1157 in select-type-stmt and add a test. Add a test for "Associate name must have a type". Move ResolveName, ResolveDataRef, etc. from ResolveNamesVisitor to DeclarationVisitor so that they are available in ConstructVisitor as well. Add ResolveVariable and ResolveDesignator. In the parse tree, change TeamValue from a type alias to a wrapper class. We already had a wrapper class anyway, ImageSelectorSpec::Team, so the new TeamValue can be used instead. This allows the member of ImageSelectorSpec to be treated like other occurrences of TeamValue. Original-commit: flang-compiler/f18@f856744b542a453dea1a9e01ad4e629bf072cff3 Reviewed-on: https://github.com/flang-compiler/f18/pull/414 Tree-same-pre-rewrite: false
Loading
Please sign in to comment