llvm-project/flang/test/Semantics/synchronization04a.f90
Katherine Rasmussen 21dceb3ca6 [flang] Split up synchronization, event, and error stop stmt tests
Splitting up the tests for the synchronization statements,
event statements, and error stop statement allow for some of the
errors which are hidden by other errors, to be caught in the test.
This then reveals which invalid code does produce errors and which
does not produce errors.
2022-08-28 10:36:02 -07:00

58 lines
1.5 KiB
Fortran

! RUN: %python %S/test_errors.py %s %flang_fc1
! This test checks for errors in sync team statements based on the
! statement specification in section 11.6.6 of the Fortran 2018 standard.
program test_sync_team
use iso_fortran_env, only : team_type
implicit none
integer sync_status
character(len=128) error_message
type(team_type) warriors
!___ standard-conforming statement ___
sync team(warriors)
sync team(warriors, stat=sync_status)
sync team(warriors, errmsg=error_message)
sync team(warriors, stat=sync_status, errmsg=error_message)
!___ non-standard-conforming statement ___
!______ missing team-value _____________________
!ERROR: expected '('
sync team
!ERROR: expected ')'
sync team(stat=sync_status, errmsg=error_message)
!______ invalid sync-stat-lists: invalid stat= ____________
!ERROR: expected ')'
sync team(warriors, status=sync_status)
! Invalid sync-stat-list: missing stat-variable
!ERROR: expected ')'
sync team(warriors, stat)
! Invalid sync-stat-list: missing 'stat='
!ERROR: expected ')'
sync team(warriors, sync_status)
!______ invalid sync-stat-lists: invalid errmsg= ____________
! Invalid errmsg-variable keyword
!ERROR: expected ')'
sync team(warriors, errormsg=error_message)
! Invalid sync-stat-list: missing 'errmsg='
!ERROR: expected ')'
sync team(warriors, error_message)
! Invalid sync-stat-list: missing errmsg-variable
!ERROR: expected ')'
sync team(warriors, errmsg)
end program test_sync_team