diff options
Diffstat (limited to 'test/Analysis/new-aligned.cpp')
-rw-r--r-- | test/Analysis/new-aligned.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Analysis/new-aligned.cpp b/test/Analysis/new-aligned.cpp new file mode 100644 index 0000000000000..fae1f48648561 --- /dev/null +++ b/test/Analysis/new-aligned.cpp @@ -0,0 +1,14 @@ +//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; +} |