@@ -8,7 +8,7 @@ SUBROUTINE test_interop_01()
8
8
END SUBROUTINE test_interop_01
9
9
10
10
! UNPARSE: SUBROUTINE test_interop_01
11
- ! UNPARSE: !$OMP INTEROP DEVICE(1_4)
11
+ ! UNPARSE: !$OMP INTEROP DEVICE(1_4)
12
12
! UNPARSE: PRINT *, "pass"
13
13
! UNPARSE: END SUBROUTINE test_interop_01
14
14
@@ -17,10 +17,11 @@ END SUBROUTINE test_interop_01
17
17
! PARSE-TREE: | SpecificationPart
18
18
! PARSE-TREE: | | ImplicitPart ->
19
19
! PARSE-TREE: | ExecutionPart -> Block
20
- ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct
21
- ! PARSE-TREE: | | | Verbatim
20
+ ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct -> OmpDirectiveSpecification
21
+ ! PARSE-TREE: | | | OmpDirectiveName -> llvm::omp::Directive = interop
22
22
! PARSE-TREE: | | | OmpClauseList -> OmpClause -> Device -> OmpDeviceClause
23
23
! PARSE-TREE: | | | | Scalar -> Integer -> Expr -> LiteralConstant -> IntLiteralConstant = '1'
24
+ ! PARSE-TREE: | | | Flags = None
24
25
! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> PrintStmt
25
26
! PARSE-TREE: | | | Format -> Star
26
27
! PARSE-TREE: | | | OutputItem -> Expr -> LiteralConstant -> CharLiteralConstant
@@ -37,7 +38,7 @@ END SUBROUTINE test_interop_02
37
38
! UNPARSE: SUBROUTINE test_interop_02
38
39
! UNPARSE: USE :: omp_lib
39
40
! UNPARSE: INTEGER(KIND=8_4) obj1, obj2, obj3
40
- ! UNPARSE: !$OMP INTEROP INIT(TARGETSYNC: obj) USE(obj1) DESTROY(obj3)
41
+ ! UNPARSE: !$OMP INTEROP INIT(TARGETSYNC: obj) USE(obj1) DESTROY(obj3)
41
42
! UNPARSE: PRINT *, "pass"
42
43
! UNPARSE: END SUBROUTINE test_interop_02
43
44
@@ -56,13 +57,14 @@ END SUBROUTINE test_interop_02
56
57
! PARSE-TREE: | | | EntityDecl
57
58
! PARSE-TREE: | | | | Name = 'obj3'
58
59
! PARSE-TREE: | ExecutionPart -> Block
59
- ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct
60
- ! PARSE-TREE: | | | Verbatim
60
+ ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct -> OmpDirectiveSpecification
61
+ ! PARSE-TREE: | | | OmpDirectiveName -> llvm::omp::Directive = interop
61
62
! PARSE-TREE: | | | OmpClauseList -> OmpClause -> Init -> OmpInitClause
62
63
! PARSE-TREE: | | | | Modifier -> OmpInteropType -> Value = TargetSync
63
64
! PARSE-TREE: | | | | OmpObject -> Designator -> DataRef -> Name = 'obj'
64
65
! PARSE-TREE: | | | OmpClause -> Use -> OmpUseClause -> OmpObject -> Designator -> DataRef -> Name = 'obj1'
65
66
! PARSE-TREE: | | | OmpClause -> Destroy -> OmpDestroyClause -> OmpObject -> Designator -> DataRef -> Name = 'obj3'
67
+ ! PARSE-TREE: | | | Flags = None
66
68
! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> PrintStmt
67
69
! PARSE-TREE: | | | Format -> Star
68
70
! PARSE-TREE: | | | OutputItem -> Expr -> LiteralConstant -> CharLiteralConstant
@@ -79,7 +81,7 @@ END SUBROUTINE test_interop_03
79
81
! UNPARSE: SUBROUTINE test_interop_03
80
82
! UNPARSE: USE :: omp_lib
81
83
! UNPARSE: INTEGER(KIND=8_4) obj
82
- ! UNPARSE: !$OMP INTEROP INIT(TARGETSYNC: obj) DEPEND(INOUT: obj)
84
+ ! UNPARSE: !$OMP INTEROP INIT(TARGETSYNC: obj) DEPEND(INOUT: obj)
83
85
! UNPARSE: PRINT *, "pass"
84
86
! UNPARSE: END SUBROUTINE test_interop_03
85
87
@@ -94,14 +96,15 @@ END SUBROUTINE test_interop_03
94
96
! PARSE-TREE: | | | EntityDecl
95
97
! PARSE-TREE: | | | | Name = 'obj'
96
98
! PARSE-TREE: | ExecutionPart -> Block
97
- ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct
98
- ! PARSE-TREE: | | | Verbatim
99
+ ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct -> OmpDirectiveSpecification
100
+ ! PARSE-TREE: | | | OmpDirectiveName -> llvm::omp::Directive = interop
99
101
! PARSE-TREE: | | | OmpClauseList -> OmpClause -> Init -> OmpInitClause
100
102
! PARSE-TREE: | | | | Modifier -> OmpInteropType -> Value = TargetSync
101
103
! PARSE-TREE: | | | | OmpObject -> Designator -> DataRef -> Name = 'obj'
102
104
! PARSE-TREE: | | | OmpClause -> Depend -> OmpDependClause -> TaskDep
103
105
! PARSE-TREE: | | | | Modifier -> OmpTaskDependenceType -> Value = Inout
104
106
! PARSE-TREE: | | | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'obj'
107
+ ! PARSE-TREE: | | | Flags = None
105
108
! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> PrintStmt
106
109
! PARSE-TREE: | | | Format -> Star
107
110
! PARSE-TREE: | | | OutputItem -> Expr -> LiteralConstant -> CharLiteralConstant
@@ -120,8 +123,8 @@ END SUBROUTINE test_interop_04
120
123
! UNPARSE: USE :: omp_lib
121
124
! UNPARSE: INTEGER(KIND=8_4) obj
122
125
! UNPARSE: INTEGER, DIMENSION(1_4,10_4) :: arr
123
- ! UNPARSE: !$OMP INTEROP INIT(PREFER_TYPE("cuda"),TARGETSYNC,TARGET: obj) DEPEND(INOUT: a &
124
- ! UNPARSE: !$OMP&rr ) NOWAIT
126
+ ! UNPARSE: !$OMP INTEROP INIT(PREFER_TYPE("cuda"),TARGETSYNC,TARGET: obj) DEPEND(INOUT: &
127
+ ! UNPARSE: !$OMP&arr ) NOWAIT
125
128
! UNPARSE: PRINT *, "pass"
126
129
! UNPARSE: END SUBROUTINE test_interop_04
127
130
@@ -144,8 +147,8 @@ END SUBROUTINE test_interop_04
144
147
! PARSE-TREE: | | | EntityDecl
145
148
! PARSE-TREE: | | | | Name = 'arr'
146
149
! PARSE-TREE: | ExecutionPart -> Block
147
- ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct
148
- ! PARSE-TREE: | | | Verbatim
150
+ ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct -> OmpDirectiveSpecification
151
+ ! PARSE-TREE: | | | OmpDirectiveName -> llvm::omp::Directive = interop
149
152
! PARSE-TREE: | | | OmpClauseList -> OmpClause -> Init -> OmpInitClause
150
153
! PARSE-TREE: | | | | Modifier -> OmpInteropPreference -> OmpInteropRuntimeIdentifier -> CharLiteralConstant
151
154
! PARSE-TREE: | | | | | string = 'cuda'
@@ -156,6 +159,7 @@ END SUBROUTINE test_interop_04
156
159
! PARSE-TREE: | | | | Modifier -> OmpTaskDependenceType -> Value = Inout
157
160
! PARSE-TREE: | | | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'arr'
158
161
! PARSE-TREE: | | | OmpClause -> Nowait
162
+ ! PARSE-TREE: | | | Flags = None
159
163
! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> PrintStmt
160
164
! PARSE-TREE: | | | Format -> Star
161
165
! PARSE-TREE: | | | OutputItem -> Expr -> LiteralConstant -> CharLiteralConstant
@@ -172,7 +176,7 @@ END SUBROUTINE test_interop_05
172
176
! UNPARSE: SUBROUTINE test_interop_05
173
177
! UNPARSE: USE :: omp_lib
174
178
! UNPARSE: INTEGER(KIND=8_4) obj
175
- ! UNPARSE: !$OMP INTEROP INIT(PREFER_TYPE(4_4),TARGETSYNC: obj) DEVICE(DEVICE_NUM: 0_4)
179
+ ! UNPARSE: !$OMP INTEROP INIT(PREFER_TYPE(4_4),TARGETSYNC: obj) DEVICE(DEVICE_NUM: 0_4)
176
180
! UNPARSE: PRINT *, "pass"
177
181
! UNPARSE: END SUBROUTINE test_interop_05
178
182
@@ -187,15 +191,16 @@ END SUBROUTINE test_interop_05
187
191
! PARSE-TREE: | | | EntityDecl
188
192
! PARSE-TREE: | | | | Name = 'obj'
189
193
! PARSE-TREE: | ExecutionPart -> Block
190
- ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct
191
- ! PARSE-TREE: | | | Verbatim
194
+ ! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPInteropConstruct -> OmpDirectiveSpecification
195
+ ! PARSE-TREE: | | | OmpDirectiveName -> llvm::omp::Directive = interop
192
196
! PARSE-TREE: | | | OmpClauseList -> OmpClause -> Init -> OmpInitClause
193
197
! PARSE-TREE: | | | | Modifier -> OmpInteropPreference -> OmpInteropRuntimeIdentifier -> Scalar -> Integer -> Constant -> Expr -> Designator -> DataRef -> Name = 'omp_ifr_sycl'
194
198
! PARSE-TREE: | | | | Modifier -> OmpInteropType -> Value = TargetSync
195
199
! PARSE-TREE: | | | | OmpObject -> Designator -> DataRef -> Name = 'obj'
196
200
! PARSE-TREE: | | | OmpClause -> Device -> OmpDeviceClause
197
201
! PARSE-TREE: | | | | Modifier -> OmpDeviceModifier -> Value = Device_Num
198
202
! PARSE-TREE: | | | | Scalar -> Integer -> Expr -> LiteralConstant -> IntLiteralConstant = '0'
203
+ ! PARSE-TREE: | | | Flags = None
199
204
! PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> PrintStmt
200
205
! PARSE-TREE: | | | Format -> Star
201
206
! PARSE-TREE: | | | OutputItem -> Expr -> LiteralConstant -> CharLiteralConstant
0 commit comments