summaryrefslogtreecommitdiffstats
path: root/clang/test/FixIt/fixit-cxx0x.cpp
diff options
context:
space:
mode:
authorNicolas Lesser <blitzrakete@gmail.com>2019-05-19 15:07:58 +0000
committerNicolas Lesser <blitzrakete@gmail.com>2019-05-19 15:07:58 +0000
commitf53d1727107ed84a1153b7db193cfb9c18c5e2a9 (patch)
treecb7c33ae9192c96d41ae85b9767209410e0b06f7 /clang/test/FixIt/fixit-cxx0x.cpp
parent9ef99b4b118bf6b2b94684c1241450a639c9203f (diff)
downloadbcm5719-llvm-f53d1727107ed84a1153b7db193cfb9c18c5e2a9.tar.gz
bcm5719-llvm-f53d1727107ed84a1153b7db193cfb9c18c5e2a9.zip
Added a better diagnostic when using the delete operator with lambdas
Summary: This adds a new error for missing parentheses around lambdas in delete operators. ``` int main() { delete []() { return new int(); }(); } ``` This will result in: ``` test.cpp:2:3: error: '[]' after delete interpreted as 'delete[]' delete []() { return new int(); }(); ^~~~~~~~~ test.cpp:2:9: note: add parentheses around the lambda delete []() { return new int(); }(); ^ ( ) ``` Reviewers: rsmith Reviewed By: rsmith Subscribers: riccibruno, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D36357 llvm-svn: 361119
Diffstat (limited to 'clang/test/FixIt/fixit-cxx0x.cpp')
-rw-r--r--clang/test/FixIt/fixit-cxx0x.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/test/FixIt/fixit-cxx0x.cpp b/clang/test/FixIt/fixit-cxx0x.cpp
index 337b5d62bed..70342075a15 100644
--- a/clang/test/FixIt/fixit-cxx0x.cpp
+++ b/clang/test/FixIt/fixit-cxx0x.cpp
@@ -58,6 +58,9 @@ void S2::f(int i) {
(void)[&, i, i]{ }; // expected-error{{'i' can appear only once in a capture list}}
(void)[] mutable { }; // expected-error{{lambda requires '()' before 'mutable'}}
(void)[] -> int { }; // expected-error{{lambda requires '()' before return type}}
+
+ delete []() { return new int; }(); // expected-error{{'[]' after delete interpreted as 'delete[]'}}
+ delete [] { return new int; }(); // expected-error{{'[]' after delete interpreted as 'delete[]'}}
}
#define bar "bar"
OpenPOWER on IntegriCloud