This is an archive of the discontinued LLVM Phabricator instance.

[flang] add semantics tests for sync team
ClosedPublic

Authored by rouson on Feb 17 2022, 4:10 PM.

Details

Summary

Check several standard-conforming and non-conforming sync memory statements.

Diff Detail

Event Timeline

rouson created this revision.Feb 17 2022, 4:10 PM
rouson requested review of this revision.Feb 17 2022, 4:10 PM
ktras accepted this revision.Feb 24 2022, 11:31 AM

LGTM. The only note is that, similar to D114181, D118933, D120097, this test should pass if you take away the XFAIL directive and have all the proper error messages, but flang doesn't currently enforce some of the syntax and constraints stated in the standard:

  • C1114 - A team-value shall be of type TEAM_TYPE from the intrinsic module ISO_FORTRAN_ENV (an integer does not currently create an error)
  • stat-variable must an integer scalar (both a logical and an integer array do not create errors currently)
  • errmsg-variable must be a scalar-default-char-variable (a logical does not currently create an error)
  • C1172 - that no specifier shall appear more than once in a given sync-stat-list
  • C1173 - that a stat-variable or errmsg-variable in a sync-stat shall not be a coindexed object

It seems appropriate to open up an issue on the github repository pointing this out after this commit is pushed, and referencing this test in the issue.

This revision is now accepted and ready to land.Feb 24 2022, 11:31 AM
This revision was automatically updated to reflect the committed changes.