(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.oacc-c-c++-common/
lib-24.c
       1  /* Exercise acc_create, acc_is_present and acc_delete.  */
       2  
       3  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
       4  
       5  #include <stdlib.h>
       6  #include <openacc.h>
       7  
       8  int
       9  main (int argc, char **argv)
      10  {
      11    const int N = 256;
      12    int i;
      13    unsigned char *h;
      14    void *d;
      15  
      16    h = (unsigned char *) malloc (N);
      17  
      18    d = acc_create (h, N);
      19    if (!d)
      20      abort ();
      21  
      22    for (i = 0; i < N; i++)
      23      {
      24        if (acc_is_present (h + i, 1) != 1)
      25  	abort ();
      26      }
      27  
      28    acc_delete (h, N);
      29  
      30    for (i = 0; i < N; i++)
      31      {
      32        if (acc_is_present (h + i, 1) != 0)
      33  	abort ();
      34      }
      35  
      36    d = acc_create (h, N);
      37    if (!d)
      38      abort ();
      39  
      40    for (i = 0; i < N; i++)
      41      {
      42        if (acc_is_present (h + i, 1) != 1)
      43  	abort ();
      44      }
      45  
      46    acc_delete (h, N);
      47  
      48    for (i = 0; i < N; i++)
      49      {
      50        if (acc_is_present (h + i, 1) != 0)
      51  	abort ();
      52      }
      53  
      54    free (h);
      55  
      56    return 0;
      57  }