xref: /llvm-project/flang/test/Semantics/synchronization04a.f90 (revision 21dceb3ca67cdc0e05b95e1d229bd01a8cd29f60)
1*21dceb3cSKatherine Rasmussen! RUN: %python %S/test_errors.py %s %flang_fc1
2*21dceb3cSKatherine Rasmussen! This test checks for errors in sync team statements based on the
3*21dceb3cSKatherine Rasmussen! statement specification in section 11.6.6 of the Fortran 2018 standard.
4*21dceb3cSKatherine Rasmussen
5*21dceb3cSKatherine Rasmussenprogram test_sync_team
6*21dceb3cSKatherine Rasmussen  use iso_fortran_env, only : team_type
7*21dceb3cSKatherine Rasmussen  implicit none
8*21dceb3cSKatherine Rasmussen
9*21dceb3cSKatherine Rasmussen  integer sync_status
10*21dceb3cSKatherine Rasmussen  character(len=128) error_message
11*21dceb3cSKatherine Rasmussen  type(team_type) warriors
12*21dceb3cSKatherine Rasmussen
13*21dceb3cSKatherine Rasmussen  !___ standard-conforming statement ___
14*21dceb3cSKatherine Rasmussen
15*21dceb3cSKatherine Rasmussen  sync team(warriors)
16*21dceb3cSKatherine Rasmussen  sync team(warriors, stat=sync_status)
17*21dceb3cSKatherine Rasmussen  sync team(warriors,                   errmsg=error_message)
18*21dceb3cSKatherine Rasmussen  sync team(warriors, stat=sync_status, errmsg=error_message)
19*21dceb3cSKatherine Rasmussen
20*21dceb3cSKatherine Rasmussen  !___ non-standard-conforming statement ___
21*21dceb3cSKatherine Rasmussen
22*21dceb3cSKatherine Rasmussen  !______ missing team-value _____________________
23*21dceb3cSKatherine Rasmussen
24*21dceb3cSKatherine Rasmussen  !ERROR: expected '('
25*21dceb3cSKatherine Rasmussen  sync team
26*21dceb3cSKatherine Rasmussen
27*21dceb3cSKatherine Rasmussen  !ERROR: expected ')'
28*21dceb3cSKatherine Rasmussen  sync team(stat=sync_status, errmsg=error_message)
29*21dceb3cSKatherine Rasmussen
30*21dceb3cSKatherine Rasmussen  !______ invalid sync-stat-lists: invalid stat= ____________
31*21dceb3cSKatherine Rasmussen
32*21dceb3cSKatherine Rasmussen  !ERROR: expected ')'
33*21dceb3cSKatherine Rasmussen  sync team(warriors, status=sync_status)
34*21dceb3cSKatherine Rasmussen
35*21dceb3cSKatherine Rasmussen  ! Invalid sync-stat-list: missing stat-variable
36*21dceb3cSKatherine Rasmussen  !ERROR: expected ')'
37*21dceb3cSKatherine Rasmussen  sync team(warriors, stat)
38*21dceb3cSKatherine Rasmussen
39*21dceb3cSKatherine Rasmussen  ! Invalid sync-stat-list: missing 'stat='
40*21dceb3cSKatherine Rasmussen  !ERROR: expected ')'
41*21dceb3cSKatherine Rasmussen  sync team(warriors, sync_status)
42*21dceb3cSKatherine Rasmussen
43*21dceb3cSKatherine Rasmussen  !______ invalid sync-stat-lists: invalid errmsg= ____________
44*21dceb3cSKatherine Rasmussen
45*21dceb3cSKatherine Rasmussen  ! Invalid errmsg-variable keyword
46*21dceb3cSKatherine Rasmussen  !ERROR: expected ')'
47*21dceb3cSKatherine Rasmussen  sync team(warriors, errormsg=error_message)
48*21dceb3cSKatherine Rasmussen
49*21dceb3cSKatherine Rasmussen  ! Invalid sync-stat-list: missing 'errmsg='
50*21dceb3cSKatherine Rasmussen  !ERROR: expected ')'
51*21dceb3cSKatherine Rasmussen  sync team(warriors, error_message)
52*21dceb3cSKatherine Rasmussen
53*21dceb3cSKatherine Rasmussen  ! Invalid sync-stat-list: missing errmsg-variable
54*21dceb3cSKatherine Rasmussen  !ERROR: expected ')'
55*21dceb3cSKatherine Rasmussen  sync team(warriors, errmsg)
56*21dceb3cSKatherine Rasmussen
57*21dceb3cSKatherine Rasmussenend program test_sync_team
58