// PR c++/51669 // { dg-do compile } // { dg-options "-fopenmp" } template const T & min (const T &, const T &); void f1 () { #pragma omp parallel num_threads (min (4, 5)) ; } struct A { A (); ~A (); }; int foo (const A &); void f2 () { int i; #pragma omp parallel if (foo (A ())) num_threads (foo (A ())) ; #pragma omp task if (foo (A ())) final (foo (A ())) ; #pragma omp for schedule (static, foo (A ())) for (i = 0; i < 10; i++) ; #pragma omp parallel for schedule (static, foo (A ())) \ if (foo (A ())) num_threads (foo (A ())) for (i = 0; i < 10; i++) ; }