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