// REQUIRES: static-analyzer
// RUN: clang-tidy %s -checks='-*,clang-analyzer-*' -- | FileCheck %s
extern void *malloc(unsigned long);
extern void free(void *);

void f() {
  int *p = new int(42);
  delete p;
  delete p;
  // CHECK: warning: Attempt to delete released memory [clang-analyzer-cplusplus.NewDelete]
}

void g() {
  void *q = malloc(132);
  free(q);
  free(q);
  // CHECK: warning: Attempt to free released memory [clang-analyzer-unix.Malloc]
}

// REQUIRES: static-analyzer
// RUN: clang-tidy %s -checks='-*,clang-analyzer-*' -- | FileCheck %s
extern void *malloc(unsigned long);
extern void free(void *);

void f() {
  int *p = new int(42);
  delete p;
  delete p;
  // CHECK: warning: Attempt to free released memory [clang-analyzer-cplusplus.NewDelete]
}

void g() {
  void *q = malloc(132);
  free(q);
  free(q);
  // CHECK: warning: Attempt to free released memory [clang-analyzer-unix.Malloc]
}

--- 
+++ 
@@ -7,7 +7,7 @@
   int *p = new int(42);
   delete p;
   delete p;
-  // CHECK: warning: Attempt to free released memory [clang-analyzer-cplusplus.NewDelete]
+  // CHECK: warning: Attempt to delete released memory [clang-analyzer-cplusplus.NewDelete]
 }
 
 void g() {
Fix a lit test failure after MallocChecker changes


git-svn-id: a34e9779ed74578ad5922b3306b3d80a0c825546@349288 91177308-0d34-0410-b5e6-96231b3b80d8
