1! Test various aspects of clauses specifying compatible levels of 2! parallelism with the OpenACC routine directive. The Fortran counterpart is 3! c-c++-common/goacc/routine-level-of-parallelism-2.c 4 5subroutine g_1 6 !$acc routine gang 7end subroutine g_1 8 9subroutine s_1_2a 10 !$acc routine 11end subroutine s_1_2a 12 13subroutine s_1_2b 14 !$acc routine seq 15end subroutine s_1_2b 16 17subroutine s_1_2c 18 !$acc routine (s_1_2c) 19end subroutine s_1_2c 20 21subroutine s_1_2d 22 !$acc routine (s_1_2d) seq 23end subroutine s_1_2d 24 25module s_2 26contains 27 subroutine s_2_1a 28 !$acc routine 29 end subroutine s_2_1a 30 31 subroutine s_2_1b 32 !$acc routine seq 33 end subroutine s_2_1b 34 35 subroutine s_2_1c 36 !$acc routine (s_2_1c) 37 end subroutine s_2_1c 38 39 subroutine s_2_1d 40 !$acc routine (s_2_1d) seq 41 end subroutine s_2_1d 42end module s_2 43 44subroutine test 45 external g_1, w_1, v_1 46 external s_1_1, s_1_2 47 48 interface 49 function s_3_1a (a) 50 integer a 51 !$acc routine 52 end function s_3_1a 53 end interface 54 55 interface 56 function s_3_1b (a) 57 integer a 58 !$acc routine seq 59 end function s_3_1b 60 end interface 61 62 !$acc routine(g_1) gang 63 64 !$acc routine(w_1) worker 65 66 !$acc routine(v_1) worker 67 68 ! Also test the implicit seq clause. 69 70 !$acc routine (s_1_1) seq 71 72end subroutine test 73