(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
if-1.c
       1  /* { dg-do compile } */
       2  
       3  void
       4  foo (int a, int b, int *p, int *q)
       5  {
       6    int i;
       7    #pragma omp parallel if (a)
       8      ;
       9    #pragma omp parallel if (parallel:a)
      10      ;
      11    #pragma omp parallel for simd if (a)
      12    for (i = 0; i < 16; i++)
      13      ;
      14    #pragma omp parallel for simd if (parallel : a)
      15    for (i = 0; i < 16; i++)
      16      ;
      17    #pragma omp parallel for simd if (simd : a)
      18    for (i = 0; i < 16; i++)
      19      ;
      20    #pragma omp parallel for simd if (simd : a) if (parallel:b)
      21    for (i = 0; i < 16; i++)
      22      ;
      23    #pragma omp task if (a)
      24      ;
      25    #pragma omp task if (task: a)
      26      ;
      27    #pragma omp taskloop if (a)
      28    for (i = 0; i < 16; i++)
      29      ;
      30    #pragma omp taskloop if (taskloop : a)
      31    for (i = 0; i < 16; i++)
      32      ;
      33    #pragma omp taskloop simd if (a)
      34    for (i = 0; i < 16; i++)
      35      ;
      36    #pragma omp taskloop simd if (taskloop : a)
      37    for (i = 0; i < 16; i++)
      38      ;
      39    #pragma omp taskloop simd if (simd : a)
      40    for (i = 0; i < 16; i++)
      41      ;
      42    #pragma omp taskloop simd if (taskloop:b) if (simd : a)
      43    for (i = 0; i < 16; i++)
      44      ;
      45    #pragma omp target if (a)
      46      ;
      47    #pragma omp target if (target: a)
      48      ;
      49    #pragma omp target simd if (a)
      50    for (i = 0; i < 16; i++)
      51      ;
      52    #pragma omp target simd if (simd : a) if (target: b)
      53    for (i = 0; i < 16; i++)
      54      ;
      55    #pragma omp target teams distribute parallel for simd if (a)
      56    for (i = 0; i < 16; i++)
      57      ;
      58    #pragma omp target teams distribute parallel for simd if (parallel : a) if (target: b)
      59    for (i = 0; i < 16; i++)
      60      ;
      61    #pragma omp target teams distribute parallel for simd if (simd : a) if (target: b)
      62    for (i = 0; i < 16; i++)
      63      ;
      64    #pragma omp target data if (a) map (p[0:2])
      65      ;
      66    #pragma omp target data if (target data: a) map (p[0:2])
      67      ;
      68    #pragma omp target enter data if (a) map (to: p[0:2])
      69    #pragma omp target enter data if (target enter data: a) map (to: p[0:2])
      70    #pragma omp target exit data if (a) map (from: p[0:2])
      71    #pragma omp target exit data if (target exit data: a) map (from: p[0:2])
      72    #pragma omp target update if (a) to (q[0:3])
      73    #pragma omp target update if (target update:a) to (q[0:3])
      74    #pragma omp parallel
      75    {
      76      #pragma omp cancel parallel if (a)
      77    }
      78   #pragma omp parallel
      79    {
      80      #pragma omp cancel parallel if (cancel:a)
      81    }
      82    #pragma omp for
      83    for (i = 0; i < 16; i++)
      84      {
      85        #pragma omp cancel for if (a)
      86      }
      87    #pragma omp for
      88    for (i = 0; i < 16; i++)
      89      {
      90        #pragma omp cancel for if (cancel: a)
      91      }
      92    #pragma omp sections
      93      {
      94      #pragma omp section
      95        {
      96  	#pragma omp cancel sections if (a)
      97        }
      98      }
      99    #pragma omp sections
     100      {
     101      #pragma omp section
     102        {
     103  	#pragma omp cancel sections if (cancel: a)
     104        }
     105      }
     106    #pragma omp taskgroup
     107    {
     108      #pragma omp task
     109      {
     110        #pragma omp cancel taskgroup if (a)
     111      }
     112      #pragma omp task
     113      {
     114        #pragma omp cancel taskgroup if (cancel: a)
     115      }
     116    }
     117  }