tree cb7c33ae9192c96d41ae85b9767209410e0b06f7
parent 9ef99b4b118bf6b2b94684c1241450a639c9203f
author Nicolas Lesser <blitzrakete@gmail.com> 1558278478 +0000
committer Nicolas Lesser <blitzrakete@gmail.com> 1558278478 +0000

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
