xref: /llvm-project/clang/test/SemaCXX/delete-mismatch.h (revision e5768d1717a354531f00062fdaf5d1dfbbedf12b)
1*e5768d17SIsmail Pazarbasi // Header for PCH test delete.cpp
2*e5768d17SIsmail Pazarbasi namespace pch_test {
3*e5768d17SIsmail Pazarbasi struct X {
4*e5768d17SIsmail Pazarbasi   int *a;
5*e5768d17SIsmail Pazarbasi   X();
6*e5768d17SIsmail Pazarbasi   X(int);
XX7*e5768d17SIsmail Pazarbasi   X(bool)
8*e5768d17SIsmail Pazarbasi     : a(new int[1]) { } // expected-note{{allocated with 'new[]' here}}
~XX9*e5768d17SIsmail Pazarbasi   ~X()
10*e5768d17SIsmail Pazarbasi   {
11*e5768d17SIsmail Pazarbasi     delete a; // expected-warning{{'delete' applied to a pointer that was allocated with 'new[]'; did you mean 'delete[]'?}}
12*e5768d17SIsmail Pazarbasi     // CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:9-[[@LINE-1]]:9}:"[]"
13*e5768d17SIsmail Pazarbasi   }
14*e5768d17SIsmail Pazarbasi };
15*e5768d17SIsmail Pazarbasi }
16