summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv9.C
blob: d7955fd40c607e24b9f686975924a56e136ad754 (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
// PR c++/65339
// { dg-do compile { target c++11 } }

class FuncWrapper {
public:
  template <typename Func> void callfunc(Func f)
  {
     f();
  }
};

class Object {
  int field;
public:
  void Method();
  Object() { field = 555; }
  Object(const Object&) { __builtin_abort(); }
};

void Object::Method ()
{
  FuncWrapper wrap;
  wrap.callfunc(*[]()
		{
		  return Object();
		});
}