1! PR middle-end/28046  for the original C tet.
2! { dg-do compile }
3! { dg-options "-fopenmp -fdump-tree-ompexp" }
4! { dg-require-effective-target cas_int }
5
6module m
7  implicit none
8  integer a(3), b
9  type t_C
10     integer :: x, y
11  end type
12  type(t_C) :: c
13
14  interface
15    integer function bar(); end
16    integer function baz(); end
17  end interface
18  pointer :: baz
19contains
20subroutine foo
21!$omp atomic
22  a(2) = a(2) + bar ()
23!$omp atomic
24  b = b + bar ()
25!$omp atomic
26  c%y = c%y + bar ()
27!$omp atomic
28  b = b + baz ()
29end
30end module
31
32! { dg-final { scan-tree-dump-times "__atomic_fetch_add" 4 "ompexp" } }
33