summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/variadic122.C
blob: 7f03c107c39301defa96592fb46f11a0fada8a31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// PR c++/52043
// { dg-options "-std=c++11 -Wreturn-type" }

template < class T > struct Container
{
  T f ();
};

template < class T >
T deref (T)
{}				// { dg-warning "no return" }

template < class T, class ... Args >
auto deref (T u, int, Args ... args)->decltype (deref (u.f (), args ...))
{}				// { dg-warning "no return" }

void
foo ()
{
  Container < Container < int > > v;
  deref (v, 2);
}