blob: b55beb7d4ed78794941afb3ae28f87c0696de879 [file] [log] [blame]
Malcolm Parsons87a03622017-01-13 15:01:06 +00001// RUN: %clang_cc1 -std=c++11 %s -Wunused -Wno-unused-lambda-capture -verify
Douglas Gregorf0d49512012-02-10 23:30:22 +00002
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}