1program test 2 implicit none 3 integer :: i, j 4 5 !$acc parallel 6 !$acc loop tile ! { dg-error "Failed to match clause" } 7 DO i = 1,10 8 ENDDO 9 !$acc loop tile() ! { dg-error "Syntax error" } 10 DO i = 1,10 11 ENDDO 12 !$acc loop tile(1) 13 DO i = 1,10 14 ENDDO 15 !$acc loop tile(*) 16 DO i = 1,10 17 ENDDO 18 !$acc loop tile(2) 19 DO i = 1,10 20 DO j = 1,10 21 ENDDO 22 ENDDO 23 !$acc loop tile(-1) ! { dg-warning "must be positive" } 24 do i = 1,10 25 enddo 26 !$acc loop tile(i) ! { dg-error "constant expression" } 27 do i = 1,10 28 enddo 29 !$acc loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" } 30 do i = 1, 3 31 do j = 4, 6 32 end do 33 end do 34 !$acc loop tile(2, 2) 35 do i = 1, 5, 2 36 do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" } 37 end do 38 end do 39 !$acc loop vector tile(*) 40 DO i = 1,10 41 ENDDO 42 !$acc loop worker tile(*) 43 DO i = 1,10 44 ENDDO 45 !$acc loop gang tile(*) 46 DO i = 1,10 47 ENDDO 48 !$acc loop vector gang tile(*) 49 DO i = 1,10 50 ENDDO 51 !$acc loop vector worker tile(*) 52 DO i = 1,10 53 ENDDO 54 !$acc loop gang worker tile(*) 55 DO i = 1,10 56 ENDDO 57 !$acc end parallel 58 59 !$acc parallel loop tile ! { dg-error "Failed to match clause" } 60 DO i = 1,10 61 ENDDO 62 !$acc parallel loop tile() ! { dg-error "Syntax error" } 63 DO i = 1,10 64 ENDDO 65 !$acc parallel loop tile(1) 66 DO i = 1,10 67 ENDDO 68 !$acc parallel loop tile(*) 69 DO i = 1,10 70 ENDDO 71 !$acc parallel loop tile(*, 1) 72 DO i = 1,10 73 DO j = 1,10 74 ENDDO 75 ENDDO 76 !$acc parallel loop tile(-1) ! { dg-warning "must be positive" } 77 do i = 1,10 78 enddo 79 !$acc parallel loop tile(i) ! { dg-error "constant expression" } 80 do i = 1,10 81 enddo 82 !$acc parallel loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" } 83 do i = 1, 3 84 do j = 4, 6 85 end do 86 end do 87 !$acc parallel loop tile(2, 2) 88 do i = 1, 5, 2 89 do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" } 90 end do 91 end do 92 !$acc parallel loop vector tile(*) 93 DO i = 1,10 94 ENDDO 95 !$acc parallel loop worker tile(*) 96 DO i = 1,10 97 ENDDO 98 !$acc parallel loop gang tile(*) 99 DO i = 1,10 100 ENDDO 101 !$acc parallel loop vector gang tile(*) 102 DO i = 1,10 103 ENDDO 104 !$acc parallel loop vector worker tile(*) 105 DO i = 1,10 106 ENDDO 107 !$acc parallel loop gang worker tile(*) 108 DO i = 1,10 109 ENDDO 110end 111