OSDN Git Service

PR c++/51669
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / gomp / pr51669.C
1 // PR c++/51669
2 // { dg-do compile }
3 // { dg-options "-fopenmp" }
4
5 template <typename T> const T & min (const T &, const T &);
6
7 void
8 f1 ()
9 {
10 #pragma omp parallel num_threads (min (4, 5))
11   ;
12 }
13
14 struct A { A (); ~A (); };
15 int foo (const A &);
16
17 void
18 f2 ()
19 {
20   int i;
21 #pragma omp parallel if (foo (A ())) num_threads (foo (A ()))
22   ;
23 #pragma omp task if (foo (A ())) final (foo (A ()))
24   ;
25 #pragma omp for schedule (static, foo (A ()))
26   for (i = 0; i < 10; i++)
27     ;
28 #pragma omp parallel for schedule (static, foo (A ())) \
29   if (foo (A ())) num_threads (foo (A ()))
30   for (i = 0; i < 10; i++)
31     ;
32 }