blob: 8bb707e0dbc7546a6254fb11b6883fe41750ab95 [file] [log] [blame]
Douglas Gregorf0d49512012-02-10 23:30:22 +00001// RUN: %clang_cc1 -std=c++11 %s -Wunused -verify
2
3void f2() {
4 int i = 1;
5 void g1(int = ([i]{ return i; })()); // expected-error{{lambda expression in default argument cannot capture any entity}}
6 void g2(int = ([i]{ return 0; })()); // expected-error{{lambda expression in default argument cannot capture any entity}}
7 void g3(int = ([=]{ return i; })()); // expected-error{{lambda expression in default argument cannot capture any entity}}
8 void g4(int = ([=]{ return 0; })());
9 void g5(int = ([]{ return sizeof i; })());
10}
Douglas Gregor680e9e02012-02-21 19:11:17 +000011
12namespace lambda_in_default_args {
13 int f(int = [] () -> int { int n; return ++n; } ());
14 template<typename T> T g(T = [] () -> T { T n; return ++n; } ());
15 int k = f() + g<int>();
16}