xref: /llvm-project/flang/test/Parser/OpenMP/depobj-construct.f90 (revision bde79c0e27fd0fb1e31c9b8b34ae71716c51a8e8)
1c478aab6SKrzysztof Parzyszek!RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=52 %s | FileCheck --ignore-case --check-prefix="UNPARSE" %s
2c478aab6SKrzysztof Parzyszek!RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=52 %s | FileCheck --check-prefix="PARSE-TREE" %s
3c478aab6SKrzysztof Parzyszek
4c478aab6SKrzysztof Parzyszeksubroutine f00
5c478aab6SKrzysztof Parzyszek  integer :: x, y
6c478aab6SKrzysztof Parzyszek  !$omp depobj(x) depend(in: y)
7c478aab6SKrzysztof Parzyszekend
8c478aab6SKrzysztof Parzyszek
9c478aab6SKrzysztof Parzyszek!UNPARSE: SUBROUTINE f00
10c478aab6SKrzysztof Parzyszek!UNPARSE:  INTEGER x, y
11c478aab6SKrzysztof Parzyszek!UNPARSE: !$OMP DEPOBJ(x) DEPEND(IN: y)
12c478aab6SKrzysztof Parzyszek!UNPARSE: END SUBROUTINE
13c478aab6SKrzysztof Parzyszek
14c478aab6SKrzysztof Parzyszek!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPDepobjConstruct
15c478aab6SKrzysztof Parzyszek!PARSE-TREE: | Verbatim
16c478aab6SKrzysztof Parzyszek!PARSE-TREE: | OmpObject -> Designator -> DataRef -> Name = 'x'
17f87737f3SKrzysztof Parzyszek!PARSE-TREE: | OmpClause -> Depend -> OmpDependClause -> TaskDep
18*bde79c0eSKrzysztof Parzyszek!PARSE-TREE: | | Modifier -> OmpTaskDependenceType -> Value = In
19c478aab6SKrzysztof Parzyszek!PARSE-TREE: | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'y'
20c478aab6SKrzysztof Parzyszek
21c478aab6SKrzysztof Parzyszeksubroutine f01
22c478aab6SKrzysztof Parzyszek  integer :: x
23c478aab6SKrzysztof Parzyszek  !$omp depobj(x) update(out)
24c478aab6SKrzysztof Parzyszekend
25c478aab6SKrzysztof Parzyszek
26c478aab6SKrzysztof Parzyszek!UNPARSE: SUBROUTINE f01
27c478aab6SKrzysztof Parzyszek!UNPARSE:  INTEGER x
28c478aab6SKrzysztof Parzyszek!UNPARSE: !$OMP DEPOBJ(x) UPDATE(OUT)
29c478aab6SKrzysztof Parzyszek!UNPARSE: END SUBROUTINE
30c478aab6SKrzysztof Parzyszek
31c478aab6SKrzysztof Parzyszek!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPDepobjConstruct
32c478aab6SKrzysztof Parzyszek!PARSE-TREE: | Verbatim
33c478aab6SKrzysztof Parzyszek!PARSE-TREE: | OmpObject -> Designator -> DataRef -> Name = 'x'
34cfd67c21SKrzysztof Parzyszek!PARSE-TREE: | OmpClause -> Update -> OmpUpdateClause -> OmpTaskDependenceType -> Value = Out
35c478aab6SKrzysztof Parzyszek
36c478aab6SKrzysztof Parzyszeksubroutine f02
37c478aab6SKrzysztof Parzyszek  integer :: x
38c478aab6SKrzysztof Parzyszek  !$omp depobj(x) destroy(x)
39c478aab6SKrzysztof Parzyszekend
40c478aab6SKrzysztof Parzyszek
41c478aab6SKrzysztof Parzyszek!UNPARSE: SUBROUTINE f02
42c478aab6SKrzysztof Parzyszek!UNPARSE:  INTEGER x
43c478aab6SKrzysztof Parzyszek!UNPARSE: !$OMP DEPOBJ(x) DESTROY(x)
44c478aab6SKrzysztof Parzyszek!UNPARSE: END SUBROUTINE
45c478aab6SKrzysztof Parzyszek
46c478aab6SKrzysztof Parzyszek!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPDepobjConstruct
47c478aab6SKrzysztof Parzyszek!PARSE-TREE: | Verbatim
48c478aab6SKrzysztof Parzyszek!PARSE-TREE: | OmpObject -> Designator -> DataRef -> Name = 'x'
49c478aab6SKrzysztof Parzyszek!PARSE-TREE: | OmpClause -> Destroy -> OmpDestroyClause -> OmpObject -> Designator -> DataRef -> Name = 'x'
50c478aab6SKrzysztof Parzyszek
51c478aab6SKrzysztof Parzyszeksubroutine f03
52c478aab6SKrzysztof Parzyszek  integer :: x
53c478aab6SKrzysztof Parzyszek  !$omp depobj(x) destroy
54c478aab6SKrzysztof Parzyszekend
55c478aab6SKrzysztof Parzyszek
56c478aab6SKrzysztof Parzyszek!UNPARSE: SUBROUTINE f03
57c478aab6SKrzysztof Parzyszek!UNPARSE:  INTEGER x
58c478aab6SKrzysztof Parzyszek!UNPARSE: !$OMP DEPOBJ(x) DESTROY
59c478aab6SKrzysztof Parzyszek!UNPARSE: END SUBROUTINE
60c478aab6SKrzysztof Parzyszek
61c478aab6SKrzysztof Parzyszek!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPStandaloneConstruct -> OpenMPDepobjConstruct
62c478aab6SKrzysztof Parzyszek!PARSE-TREE: | Verbatim
63c478aab6SKrzysztof Parzyszek!PARSE-TREE: | OmpObject -> Designator -> DataRef -> Name = 'x'
64c478aab6SKrzysztof Parzyszek!PARSE-TREE: | OmpClause -> Destroy ->
65