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