llvm-for-llvmta/tools/clang/test/Analysis/new-aligned.cpp

15 lines
423 B
C++

//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;
}