summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/gomp/pr51669.C
blob: ab99d93e90734b14a03b87d88bf204607ed144a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// PR c++/51669
// { dg-do compile }
// { dg-options "-fopenmp" }

template <typename T> 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 ()))
  ;
#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++)
    ;
}