! { dg-do run } ! ! Run-time test for EVENT_TYPE ! use iso_fortran_env, only: event_type implicit none type(event_type), save :: var[*] integer :: count, stat count = -42 call event_query (var, count) if (count /= 0) STOP 1 stat = 99 event post (var, stat=stat) if (stat /= 0) STOP 2 call event_query(var, count, stat=stat) if (count /= 1 .or. stat /= 0) STOP 3 stat = 99 event post (var[this_image()]) call event_query(var, count) if (count /= 2) STOP 4 stat = 99 event wait (var) call event_query(var, count) if (count /= 1) STOP 5 stat = 99 event post (var) call event_query(var, count) if (count /= 2) STOP 6 stat = 99 event post (var) call event_query(var, count) if (count /= 3) STOP 7 stat = 99 event wait (var, until_count=2) call event_query(var, count) if (count /= 1) STOP 8 stat = 99 event wait (var, stat=stat, until_count=1) if (stat /= 0) STOP 9 call event_query(event=var, stat=stat, count=count) if (count /= 0 .or. stat /= 0) STOP 10 end