2014-01-30 Alangi Derick <alangiderick@gmail.com>
[official-gcc.git] / gcc / testsuite / gfortran.dg / gomp / pr35786-1.f90
blobab72f066c49685cf299025d4dbdf06490aea22cb
1 ! PR fortran/35786
2 ! { dg-do compile }
3 ! { dg-options "-fopenmp" }
5 module pr35768
6 real, parameter :: one = 1.0
7 contains
8 subroutine fn1
9 !$omp parallel firstprivate (one) ! { dg-error "is not a variable" }
10 !$omp end parallel
11 end subroutine fn1
12 subroutine fn2 (doit)
13 external doit
14 !$omp parallel firstprivate (doit) ! { dg-error "is not a variable" }
15 call doit ()
16 !$omp end parallel
17 end subroutine fn2
18 subroutine fn3
19 interface fn4
20 subroutine fn4 ()
21 end subroutine fn4
22 end interface
23 !$omp parallel private (fn4) ! { dg-error "is not a variable" }
24 call fn4 ()
25 !$omp end parallel
26 end subroutine fn3
27 subroutine fn5
28 interface fn6
29 function fn6 ()
30 integer :: fn6
31 end function fn6
32 end interface
33 integer :: x
34 !$omp parallel private (fn6, x) ! { dg-error "is not a variable" }
35 x = fn6 ()
36 !$omp end parallel
37 end subroutine fn5
38 function fn7 () result (re7)
39 integer :: re7
40 !$omp parallel private (fn7) ! { dg-error "is not a variable" }
41 !$omp end parallel
42 end function fn7
43 function fn8 () result (re8)
44 integer :: re8
45 call fn9
46 contains
47 subroutine fn9
48 !$omp parallel private (fn8) ! { dg-error "is not a variable" }
49 !$omp end parallel
50 end subroutine fn9
51 end function fn8
52 function fn10 () result (re10)
53 integer :: re10, re11
54 entry fn11 () result (re11)
55 !$omp parallel private (fn10) ! { dg-error "is not a variable" }
56 !$omp end parallel
57 !$omp parallel private (fn11) ! { dg-error "is not a variable" }
58 !$omp end parallel
59 end function fn10
60 function fn12 () result (re12)
61 integer :: re12, re13
62 entry fn13 () result (re13)
63 call fn14
64 contains
65 subroutine fn14
66 !$omp parallel private (fn12) ! { dg-error "is not a variable" }
67 !$omp end parallel
68 !$omp parallel private (fn13) ! { dg-error "is not a variable" }
69 !$omp end parallel
70 end subroutine fn14
71 end function fn12
72 end module