diff options
| author | Anton Yartsev <anton.yartsev@gmail.com> | 2013-04-05 00:37:32 +0000 |
|---|---|---|
| committer | Anton Yartsev <anton.yartsev@gmail.com> | 2013-04-05 00:37:32 +0000 |
| commit | 06dc8aa5f85622fa012377b8bb9df7f26ecdb59d (patch) | |
| tree | d557cfadd0627a57737d089f14bd27e997a098fa /clang/test/Analysis | |
| parent | 80e66ce0b453cb08da6bc54e7148b8048c3b4b02 (diff) | |
| download | bcm5719-llvm-06dc8aa5f85622fa012377b8bb9df7f26ecdb59d.tar.gz bcm5719-llvm-06dc8aa5f85622fa012377b8bb9df7f26ecdb59d.zip | |
[analyzer] Updated the testcase.
Missed check added to testMallocFreeNoWarn().
Removed FIXMEs as the current behaviour is considered acceptable now.
llvm-svn: 178824
Diffstat (limited to 'clang/test/Analysis')
| -rw-r--r-- | clang/test/Analysis/NewDelete-intersections.mm | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/test/Analysis/NewDelete-intersections.mm b/clang/test/Analysis/NewDelete-intersections.mm index ca588f5c05a..3a87e4f3f11 100644 --- a/clang/test/Analysis/NewDelete-intersections.mm +++ b/clang/test/Analysis/NewDelete-intersections.mm @@ -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; |

