| ! See also "../../c-c++-common/goacc/loop-2-kernels.c". |
| |
| program test |
| implicit none |
| integer :: i, j |
| |
| !$acc kernels |
| !$acc loop auto |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang(5) |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang(num:5) |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang(static:5) |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang(static:*) |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang |
| DO i = 1,10 |
| !$acc loop vector |
| DO j = 1,10 |
| ENDDO |
| !$acc loop worker |
| DO j = 1,10 |
| ENDDO |
| !$acc loop gang ! { dg-error "inner loop uses same OpenACC parallelism as containing loop" } |
| DO j = 1,10 |
| ENDDO |
| ENDDO |
| !$acc loop seq gang ! { dg-error "'seq' overrides other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| |
| !$acc loop worker |
| DO i = 1,10 |
| ENDDO |
| !$acc loop worker(5) |
| DO i = 1,10 |
| ENDDO |
| !$acc loop worker(num:5) |
| DO i = 1,10 |
| ENDDO |
| !$acc loop worker |
| DO i = 1,10 |
| !$acc loop vector |
| DO j = 1,10 |
| ENDDO |
| !$acc loop worker ! { dg-error "inner loop uses same OpenACC parallelism as containing loop" } |
| DO j = 1,10 |
| ENDDO |
| !$acc loop gang ! { dg-error "" "TODO" { xfail *-*-* } } |
| DO j = 1,10 |
| ENDDO |
| ENDDO |
| !$acc loop seq worker ! { dg-error "'seq' overrides other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang worker |
| DO i = 1,10 |
| ENDDO |
| |
| !$acc loop vector |
| DO i = 1,10 |
| ENDDO |
| !$acc loop vector(5) |
| DO i = 1,10 |
| ENDDO |
| !$acc loop vector(length:5) |
| DO i = 1,10 |
| ENDDO |
| !$acc loop vector |
| DO i = 1,10 |
| !$acc loop vector ! { dg-error "inner loop uses same OpenACC parallelism as containing loop" } |
| DO j = 1,10 |
| ENDDO |
| !$acc loop worker ! { dg-error "" "TODO" { xfail *-*-* } } |
| DO j = 1,10 |
| ENDDO |
| !$acc loop gang ! { dg-error "" "TODO" { xfail *-*-* } } |
| DO j = 1,10 |
| ENDDO |
| ENDDO |
| !$acc loop seq vector ! { dg-error "'seq' overrides other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang vector |
| DO i = 1,10 |
| ENDDO |
| !$acc loop worker vector |
| DO i = 1,10 |
| ENDDO |
| |
| !$acc loop auto |
| DO i = 1,10 |
| ENDDO |
| !$acc loop seq auto ! { dg-error "'seq' overrides other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc loop gang auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc loop worker auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc loop vector auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc end kernels |
| |
| !$acc kernels loop auto |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop gang |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop gang(5) |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop gang(num:5) |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop gang(static:5) |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop gang(static:*) |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop seq gang ! { dg-error "'seq' overrides other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| |
| !$acc kernels loop worker |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop worker(5) |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop worker(num:5) |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop seq worker ! { dg-error "'seq' overrides other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop gang worker |
| DO i = 1,10 |
| ENDDO |
| |
| !$acc kernels loop vector |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop vector(5) |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop vector(length:5) |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop seq vector ! { dg-error "'seq' overrides other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop gang vector |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop worker vector |
| DO i = 1,10 |
| ENDDO |
| |
| !$acc kernels loop auto |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop seq auto ! { dg-error "'seq' overrides other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop gang auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop worker auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| !$acc kernels loop vector auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" } |
| DO i = 1,10 |
| ENDDO |
| end |