aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/goacc/combined-directives-3.f90
blob: 1af87c48b5fcae6777986dba48f5166a06110fd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
! Verify the accuracy of the line number associated with combined constructs.
! See "../../c-c++-common/goacc/combined-directives-3.c".

subroutine test
  implicit none
  integer x, y, z

  !$acc parallel loop seq auto ! { dg-error "'seq' overrides other OpenACC loop specifiers" }
  do x = 0, 10
     !$acc loop
     do y = 0, 10
     end do
  end do
  !$acc end parallel loop

  !$acc parallel loop gang auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" }
  do x = 0, 10
     !$acc loop worker auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" }
     do y = 0, 10
        !$acc loop vector
        do z = 0, 10
        end do
     end do
  end do
  !$acc end parallel loop


  !$acc serial loop seq auto ! { dg-error "'seq' overrides other OpenACC loop specifiers" }
  do x = 0, 10
     !$acc loop
     do y = 0, 10
     end do
  end do
  !$acc end serial loop

  !$acc serial loop gang auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" }
  do x = 0, 10
     !$acc loop worker auto ! { dg-error "'auto' conflicts with other OpenACC loop specifiers" }
     do y = 0, 10
        !$acc loop vector
        do z = 0, 10
        end do
     end do
  end do
  !$acc end serial loop

end subroutine test