Check that masks and LHS of assignments in WHERE statements and
constructs have consistent shapes. They must all have the same rank and
any extents that are compile-time constants must match.
Emit a warning for assignments in FORALL statements and constructs where
the LHS does not reference each of the index variables.
This makes AssignmentChecker need some Enter/Leave functions that
conflict with those in DoForallChecker so create StatementSemanticsPass3
and move AssignmentChecker there. Future checkers now have the option of
being in that pass.
Check that masks and LHS of assignments in WHERE statements and constructs have consistent shapes. They must all have the same rank and any extents that are compile-time constants must match.
Emit a warning for assignments in FORALL statements and constructs where the LHS does not reference each of the index variables.
This makes AssignmentChecker need some Enter/Leave functions that conflict with those in DoForallChecker so create StatementSemanticsPass3 and move AssignmentChecker there. Future checkers now have the option of being in that pass.