This patch adds general checks for atomic read, write, and capture statements.
- check "capture statement is of the form v = x if atomic construct is read"
- check "write statement is of the form x = expr if atomic construct is write"
- check "x must not have the ALLOCATABLE attribute."
- check for non-scalar variables
- check if x (LHS variable) is accessed on the RHS of assignment statement
- improve error reporting in atomic update statement
Depends on D127615