| 1 | //RUN: %clang_analyze_cc1 -std=c++17 -analyze -analyzer-checker=core -verify %s |
|---|---|
| 2 | |
| 3 | // expected-no-diagnostics |
| 4 | |
| 5 | // Notice the weird alignment. |
| 6 | struct alignas(1024) S {}; |
| 7 | |
| 8 | void foo() { |
| 9 | // Operator new() here is the C++17 aligned new that takes two arguments: |
| 10 | // size and alignment. Size is passed implicitly as usual, and alignment |
| 11 | // is passed implicitly in a similar manner. |
| 12 | S *s = new S; // no-warning |
| 13 | delete s; |
| 14 | } |
| 15 |