[PR c++/84702] ICE with default tmpl arg of overload set
[official-gcc.git] / gcc / testsuite / g++.dg / gomp / pr30558.C
blobe4929220b81aeb870b83a8346533556c5b90b0a4
1 // PR tree-optimization/30558
2 // { dg-do compile }
3 // { dg-options "-fopenmp" }
5 template <typename T> struct F
7   ~F ();
8   F (T);
9   const T &operator[] (unsigned i) const;
12 template <typename T> F<T> foo (const F<T> &x)
14   return F<T> (x[1]);
17 struct G
19   G () { bar (2); }
20   F<int> &operator () (F<int> x);
21   void bar (int);
24 int
25 main ()
27   try
28   {
29     G g;
30 #pragma omp parallel for
31     for (int i = 0; i < 10; ++i)
32       {
33         F<int> j (i);
34         F<int> f = g (j);
35         F<int> h = foo (f);
36       }
37   }
38   catch (int &e)
39   {
40   }