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