@@ -6,121 +6,121 @@ void test() {
66 int i = 0 ;
77 int j = 0 ;
88 int k = 0 ;
9- int c = 10 ;
10- int a[c];
9+ constexpr int c = 10 ;
10+ int a[c]; // Make 'c' constexpr to avoid variable-length array warnings.
1111
12- [i,j ] { return i; };
12+ [i] { return i; };
1313 // CHECK: [i] { return i; };
14- [i, j] { return j; };
14+ [j] { return j; };
1515 // CHECK: [j] { return j; };
16- [&i, j] { return j; };
16+ [j] { return j; };
1717 // CHECK: [j] { return j; };
18- [j,&i ] { return j; };
18+ [j] { return j; };
1919 // CHECK: [j] { return j; };
20- [i,j,k ] {};
20+ [] {};
2121 // CHECK: [] {};
22- [i,j,k ] { return i + j; };
22+ [i,j] { return i + j; };
2323 // CHECK: [i,j] { return i + j; };
24- [i, j,k] { return j + k; };
24+ [j,k] { return j + k; };
2525 // CHECK: [j,k] { return j + k; };
26- [i,j, k] { return i + k; };
26+ [i,k] { return i + k; };
2727 // CHECK: [i,k] { return i + k; };
2828 [i,j,k] { return i + j + k; };
2929 // CHECK: [i,j,k] { return i + j + k; };
30- [&,i ] { return k; };
30+ [&] { return k; };
3131 // CHECK: [&] { return k; };
32- [=,&i ] { return k; };
32+ [=] { return k; };
3333 // CHECK: [=] { return k; };
34- [=,&i,& j] { return j; };
34+ [=,&j] { return j; };
3535 // CHECK: [=,&j] { return j; };
36- [=,&i,&j ] { return i; };
36+ [=,&i] { return i; };
3737 // CHECK: [=,&i] { return i; };
38- [z = i ] {};
38+ [] {};
3939 // CHECK: [] {};
40- [i, z = i] { return z; };
40+ [z = i] { return z; };
4141 // CHECK: [z = i] { return z; };
42- [z = i,i ] { return z; };
42+ [z = i] { return z; };
4343 // CHECK: [z = i] { return z; };
44- [&a ] {};
44+ [] {};
4545 // CHECK: [] {};
46- [i,&a ] { return i; };
46+ [i] { return i; };
4747 // CHECK: [i] { return i; };
48- [&a, i] { return i; };
48+ [i] { return i; };
4949 // CHECK: [i] { return i; };
5050
51- #define I_MACRO () i
52- #define I_REF_MACRO () &i
53- [I_MACRO () ] {};
51+ #define I_MACRO () i
52+ #define I_REF_MACRO () &i
53+ [] {};
5454 // CHECK: [] {};
55- [I_MACRO (), j] { return j; };
55+ [j] { return j; };
5656 // CHECK: [j] { return j; };
57- [j, I_MACRO () ] { return j; };
57+ [j] { return j; };
5858 // CHECK: [j] { return j; };
59- [I_REF_MACRO (), j] { return j; };
59+ [j] { return j; };
6060 // CHECK: [j] { return j; };
61- [j, I_REF_MACRO () ] { return j; };
61+ [j] { return j; };
6262 // CHECK: [j] { return j; };
6363
6464 int n = 0 ;
65- [z = (n = i),j ] {};
65+ [z = (n = i)] {};
6666 // CHECK: [z = (n = i)] {};
67- [j, z = (n = i)] {};
67+ [z = (n = i)] {};
6868 // CHECK: [z = (n = i)] {};
6969
7070 // New Edge Cases
7171
7272 // Test 1: Leading and trailing whitespace
73- [i, j ] { return i; };
73+ [i] { return i; };
7474 // CHECK: [i] { return i; };
75- [i , j] { return j; };
75+ [j] { return j; };
7676 // CHECK: [j] { return j; };
77- [i , j , k] { return j + k; };
77+ [j, k] { return j + k; };
7878 // CHECK: [j,k] { return j + k; };
7979
8080 // Test 2: Single unused capture
81- [i ] {};
81+ [] {};
8282 // CHECK: [] {};
83- [&i ] {};
83+ [] {};
8484 // CHECK: [] {};
8585
8686 // Test 3: Multiple commas
87- [i,, j] { return j; };
87+ [j] { return j; };
8888 // CHECK: [j] { return j; };
89- [,i,j,, k] { return k; };
89+ [k] { return k; };
9090 // CHECK: [k] { return k; };
9191
9292 // Test 4: Mixed captures
93- [=, &i, j ] { return i; };
93+ [&i ] { return i; };
9494 // CHECK: [&i] { return i; };
95- [&, i ] {};
95+ [&] {};
9696 // CHECK: [&] {};
9797
9898 // Test 5: Capture with comments
99- [/* capture*/ i, j] { return j; };
99+ [/* capture*/ j] { return j; };
100100 // CHECK: [/*capture*/ j] { return j; };
101101}
102102
103103class ThisTest {
104104 void test () {
105105 int i = 0 ;
106106
107- [this ] {};
107+ [] {};
108108 // CHECK: [] {};
109- [i, this ] { return i; };
109+ [i] { return i; };
110110 // CHECK: [i] { return i; };
111- [this , i] { return i; };
111+ [i] { return i; };
112112 // CHECK: [i] { return i; };
113- [* this ] {};
113+ [] {};
114114 // CHECK: [] {};
115- [* this , i] { return i; };
115+ [i] { return i; };
116116 // CHECK: [i] { return i; };
117- [i,* this ] { return i; };
117+ [i] { return i; };
118118 // CHECK: [i] { return i; };
119119 [*this ] { return this ; };
120120 // CHECK: [*this] { return this; };
121- [*this ,i ] { return this ; };
121+ [*this ] { return this ; };
122122 // CHECK: [*this] { return this; };
123- [i, *this ] { return this ; };
123+ [*this ] { return this ; };
124124 // CHECK: [*this] { return this; };
125125 }
126126};
0 commit comments