[analyzer] Updated the testcase.

Missed check added to testMallocFreeNoWarn().
Removed FIXMEs as the current behaviour is considered acceptable now.

llvm-svn: 178824
This commit is contained in:
Anton Yartsev 2013-04-05 00:37:32 +00:00
parent 80e66ce0b4
commit 06dc8aa5f8
1 changed files with 5 additions and 4 deletions

View File

@ -11,7 +11,7 @@ extern "C" void free(void *);
// checkers bounded with cplusplus.NewDelete.
//----------------------------------------------------------------------------
// malloc()/free() are subjects of unix.Malloc and unix.MallocWithAnnotations
//----- malloc()/free() are subjects of unix.Malloc and unix.MallocWithAnnotations
void testMallocFreeNoWarn() {
int i;
free(&i); // no warn
@ -24,6 +24,10 @@ void testMallocFreeNoWarn() {
free(p2); // no warn
int *p3 = (int *)malloc(sizeof(int)); // no warn
int *p4 = (int *)malloc(sizeof(int));
free(p4);
int j = *p4; // no warn
}
void testDeleteMalloced() {
@ -36,19 +40,16 @@ void testFreeOpNew() {
void *p = operator new(0);
free(p);
} // expected-warning{{Memory is never released; potential leak}}
// FIXME: Pointer should escape
void testFreeNewExpr() {
int *p = new int;
free(p);
} // expected-warning{{Memory is never released; potential leak}}
// FIXME: Pointer should escape
void testObjcFreeNewed() {
int *p = new int;
NSData *nsdata = [NSData dataWithBytesNoCopy:p length:sizeof(int) freeWhenDone:1]; // expected-warning{{Memory is never released; potential leak}}
}
// FIXME: Pointer should escape
void testFreeAfterDelete() {
int *p = new int;