xref: /llvm-project/flang/test/Semantics/OpenMP/default-clause.f90 (revision 502bea25bdc07d1811b8bfea1c2e6bfa8617f72f)
1*3323a4bdSKiran Chandramohan! RUN: %flang_fc1 -fopenmp -fdebug-dump-symbols %s | FileCheck %s
2*3323a4bdSKiran Chandramohan
3*3323a4bdSKiran Chandramohan! Test symbols generated in block constructs in the
4*3323a4bdSKiran Chandramohan! presence of `default(...)` clause
5*3323a4bdSKiran Chandramohan
6*3323a4bdSKiran Chandramohanprogram sample
7*3323a4bdSKiran Chandramohan    !CHECK: a size=4 offset=20: ObjectEntity type: INTEGER(4)
8*3323a4bdSKiran Chandramohan    !CHECK: k size=4 offset=16: ObjectEntity type: INTEGER(4)
9*3323a4bdSKiran Chandramohan    !CHECK: w size=4 offset=12: ObjectEntity type: INTEGER(4)
10*3323a4bdSKiran Chandramohan    !CHECK: x size=4 offset=0: ObjectEntity type: INTEGER(4)
11*3323a4bdSKiran Chandramohan    !CHECK: y size=4 offset=4: ObjectEntity type: INTEGER(4)
12*3323a4bdSKiran Chandramohan    !CHECK: z size=4 offset=8: ObjectEntity type: INTEGER(4)
13*3323a4bdSKiran Chandramohan    integer x, y, z, w, k, a
14*3323a4bdSKiran Chandramohan    !$omp parallel  firstprivate(x) private(y) shared(w) default(private)
15*3323a4bdSKiran Chandramohan        !CHECK: OtherConstruct scope: size=0 alignment=1
16*3323a4bdSKiran Chandramohan        !CHECK: a (OmpPrivate): HostAssoc
17*3323a4bdSKiran Chandramohan        !CHECK: k (OmpPrivate): HostAssoc
18*3323a4bdSKiran Chandramohan        !CHECK: x (OmpFirstPrivate): HostAssoc
19*3323a4bdSKiran Chandramohan        !CHECK: y (OmpPrivate): HostAssoc
20*3323a4bdSKiran Chandramohan        !CHECK: z (OmpPrivate): HostAssoc
21*3323a4bdSKiran Chandramohan        !$omp parallel default(private)
22*3323a4bdSKiran Chandramohan            !CHECK: OtherConstruct scope: size=0 alignment=1
23*3323a4bdSKiran Chandramohan            !CHECK: a (OmpPrivate): HostAssoc
24*3323a4bdSKiran Chandramohan            !CHECK: x (OmpPrivate): HostAssoc
25*3323a4bdSKiran Chandramohan            !CHECK: y (OmpPrivate): HostAssoc
26*3323a4bdSKiran Chandramohan            y = 20
27*3323a4bdSKiran Chandramohan            x = 10
28*3323a4bdSKiran Chandramohan           !$omp parallel
29*3323a4bdSKiran Chandramohan                !CHECK: OtherConstruct scope: size=0 alignment=1
30*3323a4bdSKiran Chandramohan                a = 10
31*3323a4bdSKiran Chandramohan           !$omp end parallel
32*3323a4bdSKiran Chandramohan        !$omp end parallel
33*3323a4bdSKiran Chandramohan
34*3323a4bdSKiran Chandramohan        !$omp parallel default(firstprivate) shared(y) private(w)
35*3323a4bdSKiran Chandramohan            !CHECK: OtherConstruct scope: size=0 alignment=1
36*3323a4bdSKiran Chandramohan            !CHECK: k (OmpFirstPrivate): HostAssoc
37*3323a4bdSKiran Chandramohan            !CHECK: w (OmpPrivate): HostAssoc
38*3323a4bdSKiran Chandramohan            !CHECK: z (OmpFirstPrivate): HostAssoc
39*3323a4bdSKiran Chandramohan            y = 30
40*3323a4bdSKiran Chandramohan            w = 40
41*3323a4bdSKiran Chandramohan            z = 50
42*3323a4bdSKiran Chandramohan            k = 40
43*3323a4bdSKiran Chandramohan        !$omp end parallel
44*3323a4bdSKiran Chandramohan    !$omp end parallel
45*3323a4bdSKiran Chandramohanend program sample
46