1! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp 2! REQUIRES: shell 3 4! Test clauses that accept list. 5! 2.1 Directive Format 6! A list consists of a comma-separated collection of one or more list items. 7! A list item is a variable, array section or common block name (enclosed in 8! slashes). 9 10!DEF: /md Module 11module md 12 !DEF: /md/myty PUBLIC DerivedType 13 type :: myty 14 !DEF: /md/myty/a ObjectEntity REAL(4) 15 real :: a 16 !DEF: /md/myty/b ObjectEntity INTEGER(4) 17 integer :: b 18 end type myty 19end module md 20!DEF: /mm MainProgram 21program mm 22 !REF: /md 23 use :: md 24 !DEF: /mm/c CommonBlockDetails 25 !DEF: /mm/x ObjectEntity REAL(4) 26 !DEF: /mm/y ObjectEntity REAL(4) 27 common /c/x, y 28 !REF: /mm/x 29 !REF: /mm/y 30 real x, y 31 !DEF: /mm/myty Use 32 !DEF: /mm/t ObjectEntity TYPE(myty) 33 type(myty) :: t 34 !DEF: /mm/b ObjectEntity INTEGER(4) 35 integer b(10) 36 !REF: /mm/t 37 !REF: /md/myty/a 38 t%a = 3.14 39 !REF: /mm/t 40 !REF: /md/myty/b 41 t%b = 1 42 !REF: /mm/b 43 b = 2 44 !DEF: /mm/a (Implicit) ObjectEntity REAL(4) 45 a = 1.0 46 !DEF: /mm/c (Implicit) ObjectEntity REAL(4) 47 c = 2.0 48!$omp parallel do private(a,t,/c/) shared(c) 49 !DEF: /mm/Block1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 50 do i=1,10 51 !DEF: /mm/Block1/a (OmpPrivate) HostAssoc REAL(4) 52 !REF: /mm/b 53 !REF: /mm/Block1/i 54 a = a+b(i) 55 !DEF: /mm/Block1/t (OmpPrivate) HostAssoc TYPE(myty) 56 !REF: /md/myty/a 57 !REF: /mm/Block1/i 58 t%a = i 59 !DEF: /mm/Block1/y (OmpPrivate) HostAssoc REAL(4) 60 y = 0. 61 !DEF: /mm/Block1/x (OmpPrivate) HostAssoc REAL(4) 62 !REF: /mm/Block1/a 63 !REF: /mm/Block1/i 64 !REF: /mm/Block1/y 65 x = a+i+y 66 !REF: /mm/c 67 c = 3.0 68 end do 69end program 70