1 ! RUN: %python %S/../test_symbols.py %s %flang_fc1 -fopenmp
3 ! Test symbols generated in block constructs that have implicitly
7 !DEF: /implicit_dsa_test1 (Subroutine) Subprogram
8 subroutine implicit_dsa_test1
9 !DEF: /implicit_dsa_test1/i ObjectEntity INTEGER(4)
10 !DEF: /implicit_dsa_test1/x ObjectEntity INTEGER(4)
11 !DEF: /implicit_dsa_test1/y ObjectEntity INTEGER(4)
12 !DEF: /implicit_dsa_test1/z ObjectEntity INTEGER(4)
15 !$omp task private(y) shared(z)
16 !DEF: /implicit_dsa_test1/OtherConstruct1/x (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
17 !DEF: /implicit_dsa_test1/OtherConstruct1/y (OmpPrivate) HostAssoc INTEGER(4)
18 !DEF: /implicit_dsa_test1/OtherConstruct1/z (OmpShared) HostAssoc INTEGER(4)
22 !$omp task default(shared)
23 !DEF: /implicit_dsa_test1/OtherConstruct2/x HostAssoc INTEGER(4)
24 !DEF: /implicit_dsa_test1/OtherConstruct2/y HostAssoc INTEGER(4)
25 !DEF: /implicit_dsa_test1/OtherConstruct2/z HostAssoc INTEGER(4)
30 !DEF: /implicit_dsa_test1/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
32 !DEF: /implicit_dsa_test1/OtherConstruct3/x (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
33 !DEF: /implicit_dsa_test1/OtherConstruct3/y (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
34 !REF: /implicit_dsa_test1/OtherConstruct3/i
40 ! Nested task with implicit firstprivate DSA variable.
41 !DEF: /implicit_dsa_test2 (Subroutine) Subprogram
42 subroutine implicit_dsa_test2
43 !DEF: /implicit_dsa_test2/x ObjectEntity INTEGER(4)
48 !DEF: /implicit_dsa_test2/OtherConstruct1/OtherConstruct1/x (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
54 ! Nested tasks with implicit shared DSA variables.
55 !DEF: /implicit_dsa_test3 (Subroutine) Subprogram
56 subroutine implicit_dsa_test3
57 !DEF: /implicit_dsa_test3/x ObjectEntity INTEGER(4)
58 !DEF: /implicit_dsa_test3/y ObjectEntity INTEGER(4)
59 !DEF: /implicit_dsa_test3/z ObjectEntity INTEGER(4)
64 !DEF: /implicit_dsa_test3/OtherConstruct1/OtherConstruct1/x HostAssoc INTEGER(4)
66 !DEF: /implicit_dsa_test3/OtherConstruct1/OtherConstruct1/y HostAssoc INTEGER(4)
70 !$omp task firstprivate(x)
71 !DEF: /implicit_dsa_test3/OtherConstruct1/OtherConstruct2/x (OmpFirstPrivate) HostAssoc INTEGER(4)
73 !DEF: /implicit_dsa_test3/OtherConstruct1/OtherConstruct2/z HostAssoc INTEGER(4)
79 ! Task with implicit firstprivate DSA variables, enclosed in private context.
80 !DEF: /implicit_dsa_test4 (Subroutine) Subprogram
81 subroutine implicit_dsa_test4
82 !DEF: /implicit_dsa_test4/x ObjectEntity INTEGER(4)
83 !DEF: /implicit_dsa_test4/y ObjectEntity INTEGER(4)
84 !DEF: /implicit_dsa_test4/z ObjectEntity INTEGER(4)
87 !$omp parallel default(private)
89 !DEF: /implicit_dsa_test4/OtherConstruct1/OtherConstruct1/x (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
91 !DEF: /implicit_dsa_test4/OtherConstruct1/OtherConstruct1/z (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
96 !DEF: /implicit_dsa_test4/OtherConstruct1/OtherConstruct2/x (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
98 !DEF: /implicit_dsa_test4/OtherConstruct1/OtherConstruct2/y (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
104 ! Inner parallel using implicit firstprivate symbol.
105 !DEF: /implicit_dsa_test5 (Subroutine) Subprogram
106 subroutine implicit_dsa_test5
107 !DEF: /implicit_dsa_test5/x ObjectEntity INTEGER(4)
110 !$omp parallel default(private)
113 !DEF: /implicit_dsa_test5/OtherConstruct1/OtherConstruct1/OtherConstruct1/x HostAssoc INTEGER(4)
120 ! Constructs nested inside a task with implicit DSA variables.
121 !DEF: /implicit_dsa_test6 (Subroutine) Subprogram
122 subroutine implicit_dsa_test6
123 !DEF: /implicit_dsa_test6/x ObjectEntity INTEGER(4)
124 !DEF: /implicit_dsa_test6/y ObjectEntity INTEGER(4)
125 !DEF: /implicit_dsa_test6/z ObjectEntity INTEGER(4)
129 !$omp parallel default(private)
130 !DEF: /implicit_dsa_test6/OtherConstruct1/OtherConstruct1/x (OmpPrivate) HostAssoc INTEGER(4)
131 !DEF: /implicit_dsa_test6/OtherConstruct1/OtherConstruct1/y (OmpPrivate) HostAssoc INTEGER(4)
135 !$omp parallel default(firstprivate) shared(y)
136 !DEF: /implicit_dsa_test6/OtherConstruct1/OtherConstruct2/y (OmpShared) HostAssoc INTEGER(4)
137 !DEF: /implicit_dsa_test6/OtherConstruct1/OtherConstruct2/x (OmpFirstPrivate) HostAssocINTEGER(4)
138 !DEF: /implicit_dsa_test6/OtherConstruct1/OtherConstruct2/z (OmpFirstPrivate) HostAssocINTEGER(4)
144 ! Test taskgroup - it uses the same scope as task.
145 !DEF: /implicit_dsa_test7 (Subroutine) Subprogram
146 subroutine implicit_dsa_test7
147 !DEF: /implicit_dsa_test7/x ObjectEntity INTEGER(4)
148 !DEF: /implicit_dsa_test7/y ObjectEntity INTEGER(4)
153 !DEF: /implicit_dsa_test7/OtherConstruct1/x (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)
154 !DEF: /implicit_dsa_test7/OtherConstruct1/y (OmpFirstPrivate, OmpImplicit) HostAssoc INTEGER(4)