(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.c-c++-common/
target-same-name-1-a.c
       1  /* { dg-skip-if "" { *-*-* } } */
       2  /* Used by target-same-name-1.c */
       3  
       4  static int local_link = 42;
       5  #pragma omp declare target link(local_link)
       6  
       7  int decl_a_link = 123;
       8  #pragma omp declare target link(decl_a_link)
       9  
      10  #pragma omp declare target
      11  static int __attribute__ ((noinline,noclone))
      12  foo ()
      13  {
      14    return 5;
      15  }
      16  #pragma omp end declare target
      17  
      18  static int __attribute__ ((noinline,noclone))
      19  bar ()
      20  {
      21    int i;
      22    #pragma omp target map(from:i)
      23      i = foo ();
      24    return i;
      25  }
      26  
      27  int
      28  one () {
      29    return bar ();
      30  }
      31  
      32  int
      33  one_get_inc2_local_link ()
      34  {
      35    int res, res2;
      36  #pragma omp target map(from: res, res2)
      37    {
      38      res = local_link;
      39      local_link += 2;
      40      res2 = local_link;
      41    }
      42    if (res + 2 != res2)
      43      __builtin_abort ();
      44    return res;
      45  }
      46  
      47  int
      48  one_get_inc3_link_a ()
      49  {
      50    int res, res2;
      51  #pragma omp target map(from: res, res2)
      52    {
      53      res = decl_a_link;
      54      decl_a_link += 3;
      55      res2 = decl_a_link;
      56    }
      57    if (res + 3 != res2)
      58      __builtin_abort ();
      59    return res;
      60  }