1! { dg-do compile } 2! { dg-additional-options "-fmax-errors=100" } 3 4! test clauses added in OpenACC ver 2.0 5 6program test 7 implicit none 8 integer :: i, a(10), b(5:7) 9 integer, parameter :: acc_async_noval = -1 10 integer, parameter :: acc_async_sync = -2 11 logical :: l 12 13 ! async 14 !$acc kernels async(i) 15 !$acc end kernels 16 !$acc parallel async(i) 17 !$acc end parallel 18 19 !$acc kernels async(0, 1) { dg-error "Failed to match clause" } 20 !$acc parallel async(0, 1) { dg-error "Failed to match clause" } 21 22 !$acc kernels async 23 !$acc end kernels 24 !$acc parallel async 25 !$acc end parallel 26 27 !$acc kernels async(acc_async_noval) 28 !$acc end kernels 29 !$acc parallel async(acc_async_noval) 30 !$acc end parallel 31 32 !$acc kernels async(acc_async_sync) 33 !$acc end kernels 34 !$acc parallel async(acc_async_sync) 35 !$acc end parallel 36 37 !$acc kernels async() { dg-error "Invalid character" } 38 !$acc parallel async() { dg-error "Invalid character" } 39 40 !$acc kernels async("a") { dg-error "Failed to match clause" } 41 !$acc parallel async("a") { dg-error "Failed to match clause" } 42 43 !$acc kernels async(.true.) { dg-error "Failed to match clause" } 44 !$acc parallel async(.true.) { dg-error "Failed to match clause" } 45 46 ! default(none) 47 !$acc kernels default(none) 48 !$acc end kernels 49 !$acc parallel default(none) 50 !$acc end parallel 51 52 !$acc kernels default (none) 53 !$acc end kernels 54 !$acc parallel default (none) 55 !$acc end parallel 56 57 !$acc kernels default ( none ) 58 !$acc end kernels 59 !$acc parallel default ( none ) 60 !$acc end parallel 61 62 !$acc kernels default { dg-error "Failed to match clause" } 63 !$acc parallel default { dg-error "Failed to match clause" } 64 65 !$acc kernels default() { dg-error "Failed to match clause" } 66 !$acc parallel default() { dg-error "Failed to match clause" } 67 68 !$acc kernels default(i) { dg-error "Failed to match clause" } 69 !$acc parallel default(i) { dg-error "Failed to match clause" } 70 71 !$acc kernels default(1) { dg-error "Failed to match clause" } 72 !$acc parallel default(1) { dg-error "Failed to match clause" } 73 74 ! Wait 75 !$acc kernels wait (l) ! { dg-error "INTEGER" } 76 !$acc end kernels 77 !$acc kernels wait (.true.) ! { dg-error "INTEGER" } 78 !$acc end kernels 79 !$acc kernels wait (i, 1) 80 !$acc end kernels 81 !$acc kernels wait (a) ! { dg-error "INTEGER" } 82 !$acc end kernels 83 !$acc kernels wait (b(5:6)) ! { dg-error "INTEGER" } 84 !$acc end kernels 85 86 !$acc parallel wait (l) ! { dg-error "INTEGER" } 87 !$acc end parallel 88 !$acc parallel wait (.true.) ! { dg-error "INTEGER" } 89 !$acc end parallel 90 !$acc parallel wait (i, 1) 91 !$acc end parallel 92 !$acc parallel wait (a) ! { dg-error "INTEGER" } 93 !$acc end parallel 94 !$acc parallel wait (b(5:6)) ! { dg-error "INTEGER" } 95 !$acc end parallel 96end 97