This is an archive of the discontinued LLVM Phabricator instance.

[flang][OpenMP] Added semantic checks for atomic capture, write, and update statements
ClosedPublic

Authored by NimishMishra on Jun 13 2022, 2:00 AM.

Details

Summary

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

Diff Detail

Event Timeline

NimishMishra created this revision.Jun 13 2022, 2:00 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald Transcript
NimishMishra requested review of this revision.Jun 13 2022, 2:00 AM

Landed of hint clause patch unblocks this now. Ping for review!

NimishMishra edited the summary of this revision. (Show Details)
TIFitis accepted this revision.Jul 17 2023, 9:09 AM
TIFitis added a subscriber: TIFitis.

Please allow for another +1.

This revision is now accepted and ready to land.Jul 17 2023, 9:09 AM
raghavendhra accepted this revision.Jul 24 2023, 7:52 AM
raghavendhra added a subscriber: raghavendhra.

LGTM