blob: bafc88b0d8474b465bf9d3c7b121852024170bb8 [file] [log] [blame]
! PR middle-end/28046 for the original C tet.
! { dg-do compile }
! { dg-options "-fopenmp -fdump-tree-ompexp" }
! { dg-require-effective-target cas_int }
module m
implicit none
integer a(3), b
type t_C
integer :: x, y
end type
type(t_C) :: c
interface
integer function bar(); end
integer function baz(); end
end interface
pointer :: baz
contains
subroutine foo
!$omp atomic
a(2) = a(2) + bar ()
!$omp atomic
b = b + bar ()
!$omp atomic
c%y = c%y + bar ()
!$omp atomic
b = b + baz ()
end
end module
! { dg-final { scan-tree-dump-times "__atomic_fetch_add" 4 "ompexp" } }