// RUN: %clang_analyze_cc1 -std=c++11 %s \ | |
// RUN: -analyzer-checker=core \ | |
// RUN: -analyzer-checker=cplusplus.NewDelete \ | |
// RUN: -analyzer-checker=cplusplus.PlacementNew \ | |
// RUN: -analyzer-output=text -verify \ | |
// RUN: -triple x86_64-unknown-linux-gnu | |
// expected-no-diagnostics | |
#include "Inputs/system-header-simulator-cxx.h" | |
struct X { | |
static void *operator new(std::size_t sz, void *b) { | |
return ::operator new(sz, b); | |
} | |
long l; | |
}; | |
void f() { | |
short buf; | |
X *p1 = new (&buf) X; | |
(void)p1; | |
} |