! This test checks lowering of OpenMP Flush Directive. !RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s module flush02_mod type t1 integer(kind=4) :: x = 4 end type t1 type :: t2 type(t1) :: y = t1(2) end type t2 contains subroutine sub01(pt) class(t1), intent(inout) :: pt type(t2) :: dt integer, allocatable :: a(:) integer, pointer :: b(:) ! CHECK: omp.flush({{.*}} : !fir.ref>>>) ! CHECK: omp.flush({{.*}} : !fir.ref) ! CHECK: omp.flush({{.*}} : !fir.ref}>>) ! CHECK: omp.flush({{.*}} : !fir.class>) !$omp flush(a) !$omp flush(p) !$omp flush(dt) !$omp flush(pt) end subroutine end module flush02_mod