(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
pr70550-1.c
       1  /* PR middle-end/70550 */
       2  /* { dg-do compile } */
       3  /* { dg-additional-options "-Wuninitialized" } */
       4  
       5  #ifdef __SIZEOF_INT128__
       6  typedef __int128 T;
       7  #else
       8  typedef long long T;
       9  #endif
      10  
      11  void bar (T);
      12  #pragma omp declare target (bar)
      13  
      14  void
      15  foo (void)
      16  {
      17    {
      18      int i;
      19      #pragma omp target defaultmap(tofrom:scalar)	/* { dg-bogus "is used uninitialized" } */
      20      {
      21        i = 26;
      22        bar (i);
      23      }
      24    }
      25    {
      26      T j;
      27      #pragma omp target defaultmap(tofrom:scalar)	/* { dg-bogus "is used uninitialized" } */
      28      {
      29        j = 37;
      30        bar (j);
      31      }
      32    }
      33    {
      34      int i;
      35      #pragma omp target					/* { dg-bogus "is used uninitialized" } */
      36      {
      37        i = 26;
      38        bar (i);
      39      }
      40    }
      41    {
      42      T j;
      43      #pragma omp target					/* { dg-bogus "is used uninitialized" } */
      44      {
      45        j = 37;
      46        bar (j);
      47      }
      48    }
      49    {
      50      int i;
      51      #pragma omp target firstprivate (i)			/* { dg-warning "is used uninitialized" } */
      52      {
      53        i = 26;
      54        bar (i);
      55      }
      56    }
      57    {
      58      T j;
      59      #pragma omp target firstprivate (j)			/* { dg-warning "is used uninitialized" } */
      60      {
      61        j = 37;
      62        bar (j);
      63      }
      64    }
      65    {
      66      int i;
      67      #pragma omp target private (i)			/* { dg-bogus "is used uninitialized" } */
      68      {
      69        i = 26;
      70        bar (i);
      71      }
      72    }
      73    {
      74      T j;
      75      #pragma omp target private (j)			/* { dg-bogus "is used uninitialized" } */
      76      {
      77        j = 37;
      78        bar (j);
      79      }
      80    }
      81  }