File: omp-symbol01.f90

package info (click to toggle)
llvm-toolchain-11 1%3A11.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 995,808 kB
  • sloc: cpp: 4,767,656; ansic: 760,916; asm: 477,436; python: 170,940; objc: 69,804; lisp: 29,914; sh: 23,855; f90: 18,173; pascal: 7,551; perl: 7,471; ml: 5,603; awk: 3,489; makefile: 2,573; xml: 915; cs: 573; fortran: 503; javascript: 452
file content (68 lines) | stat: -rw-r--r-- 1,602 bytes parent folder | download | duplicates (2)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
! RUN: %S/test_symbols.sh %s %t %f18 -fopenmp

! Test clauses that accept list.
! 2.1 Directive Format
!   A list consists of a comma-separated collection of one or more list items.
!   A list item is a variable, array section or common block name (enclosed in
!   slashes).

!DEF: /md Module
module md
 !DEF: /md/myty PUBLIC DerivedType
 type :: myty
  !DEF: /md/myty/a ObjectEntity REAL(4)
  real :: a
  !DEF: /md/myty/b ObjectEntity INTEGER(4)
  integer :: b
 end type myty
end module md
!DEF: /mm MainProgram
program mm
 !REF: /md
 use :: md
 !DEF: /mm/c CommonBlockDetails
 !DEF: /mm/x ObjectEntity REAL(4)
 !DEF: /mm/y ObjectEntity REAL(4)
 common /c/x, y
 !REF: /mm/x
 !REF: /mm/y
 real x, y
 !DEF: /mm/myty Use
 !DEF: /mm/t ObjectEntity TYPE(myty)
 type(myty) :: t
 !DEF: /mm/b ObjectEntity INTEGER(4)
 integer b(10)
 !REF: /mm/t
 !REF: /md/myty/a
 t%a = 3.14
 !REF: /mm/t
 !REF: /md/myty/b
 t%b = 1
 !REF: /mm/b
 b = 2
 !DEF: /mm/a (Implicit) ObjectEntity REAL(4)
 a = 1.0
 !DEF: /mm/c (Implicit) ObjectEntity REAL(4)
 c = 2.0
!$omp parallel do  private(a,t,/c/) shared(c)
 !DEF: /mm/Block1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
 do i=1,10
  !DEF: /mm/Block1/a (OmpPrivate) HostAssoc REAL(4)
  !REF: /mm/b
  !REF: /mm/Block1/i
  a = a+b(i)
  !DEF: /mm/Block1/t (OmpPrivate) HostAssoc TYPE(myty)
  !REF: /md/myty/a
  !REF: /mm/Block1/i
  t%a = i
  !DEF: /mm/Block1/y (OmpPrivate) HostAssoc REAL(4)
  y = 0.
  !DEF: /mm/Block1/x (OmpPrivate) HostAssoc REAL(4)
  !REF: /mm/Block1/a
  !REF: /mm/Block1/i
  !REF: /mm/Block1/y
  x = a+i+y
  !REF: /mm/c
  c = 3.0
 end do
end program