1! { dg-do run } 2! 3! LOCK/UNLOCK check 4! 5! PR fortran/18918 6! 7 8use iso_fortran_env 9implicit none 10 11type(lock_type) :: lock[*] 12integer :: stat 13logical :: acquired 14 15LOCK(lock) 16UNLOCK(lock) 17 18stat = 99 19LOCK(lock, stat=stat) 20if (stat /= 0) STOP 1 21stat = 99 22UNLOCK(lock, stat=stat) 23if (stat /= 0) STOP 2 24 25if (this_image() == 1) then 26 acquired = .false. 27 LOCK (lock[this_image()], acquired_lock=acquired) 28 if (.not. acquired) STOP 3 29 UNLOCK (lock[1]) 30end if 31end 32 33