1  /* PR middle-end/35196 */
       2  /* { dg-do run } */
       3  
       4  extern void abort (void);
       5  extern void omp_set_dynamic (int);
       6  
       7  int
       8  main (void)
       9  {
      10    int i, j;
      11    omp_set_dynamic (0);
      12  #pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static)
      13    for (i = 0; i < 5; i++)
      14      j = i;
      15    if (i != 5 || j != 4)
      16      abort ();
      17  #pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static, 2)
      18    for (i = 0; i < 5; i++)
      19      j = i;
      20    if (i != 5 || j != 4)
      21      abort ();
      22  #pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (dynamic)
      23    for (i = 0; i < 5; i++)
      24      j = i;
      25    if (i != 5 || j != 4)
      26      abort ();
      27  #pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static)
      28    for (i = -12; i < 21; i += 3)
      29      j = i;
      30    if (i != 21 || j != 18)
      31      abort ();
      32  #pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static, 2)
      33    for (i = -12; i < 21; i += 3)
      34      j = i;
      35    if (i != 21 || j != 18)
      36      abort ();
      37  #pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (dynamic, 3)
      38    for (i = -12; i < 21; i += 3)
      39      j = i;
      40    if (i != 21 || j != 18)
      41      abort ();
      42    return 0;
      43  }