1  /* PR middle-end/28046 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-fopenmp -fdump-tree-ompexp" } */
       4  /* { dg-require-effective-target cas_int } */
       5  
       6  int a[3], b;
       7  struct C { int x; int y; } c;
       8  
       9  int bar (void), *baz (void);
      10  
      11  void
      12  foo (void)
      13  {
      14  #pragma omp atomic
      15    a[2] += bar ();
      16  #pragma omp atomic
      17    b += bar ();
      18  #pragma omp atomic
      19    c.y += bar ();
      20  #pragma omp atomic
      21    *baz () += bar ();
      22  }
      23  
      24  /* { dg-final { scan-tree-dump-times "__atomic_fetch_add" 4 "ompexp" } } */