summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/malloc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Analysis/malloc.cpp')
-rw-r--r--clang/test/Analysis/malloc.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/clang/test/Analysis/malloc.cpp b/clang/test/Analysis/malloc.cpp
index 864477b587b..220d74625bc 100644
--- a/clang/test/Analysis/malloc.cpp
+++ b/clang/test/Analysis/malloc.cpp
@@ -6,6 +6,11 @@ void free(void *);
void *realloc(void *ptr, size_t size);
void *calloc(size_t nmemb, size_t size);
+
+void checkThatMallocCheckerIsRunning() {
+ malloc(4); // expected-warning{{leak}}
+}
+
// Test for radar://11110132.
struct Foo {
mutable void* m_data;
@@ -35,3 +40,23 @@ void r11160612_3(CanFreeMemory* p) {
const_ptr_and_callback_def_param(0, x, 12, p->myFree);
}
+
+namespace PR13751 {
+ class OwningVector {
+ void **storage;
+ size_t length;
+ public:
+ OwningVector();
+ ~OwningVector();
+ void push_back(void *Item) {
+ storage[length++] = Item;
+ }
+ };
+
+ void testDestructors() {
+ OwningVector v;
+ v.push_back(malloc(4));
+ // no leak warning; freed in destructor
+ }
+}
+
OpenPOWER on IntegriCloud