File: default-none.f90

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (41 lines) | stat: -rw-r--r-- 884 bytes parent folder | download | duplicates (3)
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
!RUN: %python %S/../test_errors.py %s %flang -fopenmp
! Positive tests for default(none)
subroutine sb2(x)
  real :: x
end subroutine

subroutine sb1
  integer :: i
  real :: a(10), b(10), k
  inc(x) = x + 1.0
  abstract interface
    function iface(a, b)
      real, intent(in) :: a, b
      real :: iface
    end function
  end interface
  procedure(iface) :: compute
  procedure(iface), pointer :: ptr => NULL()
  ptr => fn2
  !$omp parallel default(none) shared(a,b,k) private(i)
  do i = 1, 10
    b(i) = k + sin(a(i)) + inc(a(i)) + fn1(a(i)) + compute(a(i),k) + add(k, k)
    call sb3(b(i))
    call sb2(a(i))
  end do
  !$omp end parallel
contains
 function fn1(x)
   real :: x, fn1
   fn1 = x
 end function
 function fn2(x, y)
   real, intent(in) :: x, y
   real :: fn2
   fn2 = x + y
 end function
 subroutine sb3(x)
   real :: x
   print *, x
 end subroutine
end subroutine