1! { dg-do run } 2! 3! Run-time test for EVENT_TYPE 4! 5use iso_fortran_env, only: event_type 6implicit none 7 8type(event_type), save :: var[*] 9integer :: count, stat 10 11count = -42 12call event_query (var, count) 13if (count /= 0) call abort() 14 15stat = 99 16event post (var, stat=stat) 17if (stat /= 0) call abort() 18call event_query(var, count, stat=stat) 19if (count /= 1 .or. stat /= 0) call abort() 20 21stat = 99 22event post (var[this_image()]) 23call event_query(var, count) 24if (count /= 2) call abort() 25 26stat = 99 27event wait (var) 28call event_query(var, count) 29if (count /= 1) call abort() 30 31stat = 99 32event post (var) 33call event_query(var, count) 34if (count /= 2) call abort() 35 36stat = 99 37event post (var) 38call event_query(var, count) 39if (count /= 3) call abort() 40 41stat = 99 42event wait (var, until_count=2) 43call event_query(var, count) 44if (count /= 1) call abort() 45 46stat = 99 47event wait (var, stat=stat, until_count=1) 48if (stat /= 0) call abort() 49call event_query(event=var, stat=stat, count=count) 50if (count /= 0 .or. stat /= 0) call abort() 51end 52