
Summary: This change moves tests for checkers and infrastructure into separate directories, making it easier to find infrastructure tests. Tests for checkers are already easy to find because they are named after the checker. Tests for infrastructure were difficult to find because they were outnumbered by tests for checkers. Now they are in a separate directory. Reviewers: jfb, jdoerfert, lebedev.ri Subscribers: srhines, nemanjai, aheejin, kbarton, christof, mgrang, arphaman, jfb, lebedev.ri, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68807 llvm-svn: 374540
21 lines
714 B
C++
21 lines
714 B
C++
// REQUIRES: static-analyzer
|
|
// RUN: clang-tidy %s -checks='-*,clang-analyzer-unix.Malloc' -config='{CheckOptions: [{ key: "clang-analyzer-unix.DynamicMemoryModeling:Optimistic", value: true}]}' -- | FileCheck %s
|
|
typedef __typeof(sizeof(int)) size_t;
|
|
void *malloc(size_t);
|
|
void free(void *);
|
|
void __attribute((ownership_returns(malloc))) *my_malloc(size_t);
|
|
void __attribute((ownership_takes(malloc, 1))) my_free(void *);
|
|
|
|
void f1() {
|
|
void *p = malloc(12);
|
|
return;
|
|
// CHECK: warning: Potential leak of memory pointed to by 'p' [clang-analyzer-unix.Malloc]
|
|
}
|
|
|
|
void af2() {
|
|
void *p = my_malloc(12);
|
|
my_free(p);
|
|
free(p);
|
|
// CHECK: warning: Attempt to free released memory [clang-analyzer-unix.Malloc]
|
|
}
|