(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.oacc-c-c++-common/
struct-copyout-1.c
       1  #include <assert.h>
       2  
       3  struct str1 {
       4    int a;
       5    int b;
       6  };
       7  
       8  struct str2 {
       9    int c;
      10    int d;
      11    struct str1 s;
      12  };
      13  
      14  int
      15  main (int argc, char *argv[])
      16  {
      17    struct str2 t;
      18  
      19    t.c = 1;
      20    t.d = 2;
      21    t.s.a = 3;
      22    t.s.b = 4;
      23  
      24    #pragma acc enter data copyin(t.s)
      25  
      26    #pragma acc serial present(t.s) /* { dg-warning "using .vector_length \\(32\\)., ignoring 1" "" { target openacc_nvidia_accel_selected } } */
      27    {
      28      t.s.a = 5;
      29      t.s.b = 6;
      30    }
      31  
      32    #pragma acc exit data copyout(t.s)
      33  
      34    assert (t.s.a == 5);
      35    assert (t.s.b == 6);
      36  
      37    return 0;
      38  }