2 // RUN: %clang_cc1 -x c++ -fsyntax-only -Wunused-lambda-capture -Wno-unused-value -std=c++1z -fixit %t
3 // RUN: grep -v CHECK %t | FileCheck %s
13 // CHECK: [i] { return i; };
15 // CHECK: [j] { return j; };
17 // CHECK: [j] { return j; };
19 // CHECK: [j] { return j; };
22 [i
,j
,k
] { return i
+ j
; };
23 // CHECK: [i,j] { return i + j; };
24 [i
,j
,k
] { return j
+ k
; };
25 // CHECK: [j,k] { return j + k; };
26 [i
,j
,k
] { return i
+ k
; };
27 // CHECK: [i,k] { return i + k; };
28 [i
,j
,k
] { return i
+ j
+ k
; };
29 // CHECK: [i,j,k] { return i + j + k; };
31 // CHECK: [&] { return k; };
33 // CHECK: [=] { return k; };
34 [=,&i
,&j
] { return j
; };
35 // CHECK: [=,&j] { return j; };
36 [=,&i
,&j
] { return i
; };
37 // CHECK: [=,&i] { return i; };
40 [i
,z
= i
] { return z
; };
41 // CHECK: [z = i] { return z; };
42 [z
= i
,i
] { return z
; };
43 // CHECK: [z = i] { return z; };
47 // CHECK: [i] { return i; };
49 // CHECK: [i] { return i; };
52 #define I_REF_MACRO() &i
55 [I_MACRO(),j
] { return j
; };
56 // CHECK: [j] { return j; };
57 [j
,I_MACRO()] { return j
; };
58 // CHECK: [j] { return j; };
59 [I_REF_MACRO(),j
] { return j
; };
60 // CHECK: [j] { return j; };
61 [j
,I_REF_MACRO()] { return j
; };
62 // CHECK: [j] { return j; };
66 // CHECK: [z = (n = i)] {};
68 // CHECK: [z = (n = i)] {};
77 [i
,this] { return i
; };
78 // CHECK: [i] { return i; };
79 [this,i
] { return i
; };
80 // CHECK: [i] { return i; };
83 [*this,i
] { return i
; };
84 // CHECK: [i] { return i; };
85 [i
,*this] { return i
; };
86 // CHECK: [i] { return i; };
87 [*this] { return this; };
88 // CHECK: [*this] { return this; };
89 [*this,i
] { return this; };
90 // CHECK: [*this] { return this; };
91 [i
,*this] { return this; };
92 // CHECK: [*this] { return this; };