diff options
| author | Ted Kremenek <kremenek@apple.com> | 2009-04-07 05:33:18 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2009-04-07 05:33:18 +0000 |
| commit | 25db1f3ff11dd866120582072b48c2b8d6f5a614 (patch) | |
| tree | 0dafcef2cd6f254d7c864b3f32826f1e3d00b0f9 | |
| parent | 4d947facad65cb319a54f6ad1d1a878026dd0645 (diff) | |
| download | bcm5719-llvm-25db1f3ff11dd866120582072b48c2b8d6f5a614.tar.gz bcm5719-llvm-25db1f3ff11dd866120582072b48c2b8d6f5a614.zip | |
Add test case.
llvm-svn: 68505
| -rw-r--r-- | clang/test/Analysis/retain-release.m | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/Analysis/retain-release.m b/clang/test/Analysis/retain-release.m index 6e75b0d3219..5a0471ae88e 100644 --- a/clang/test/Analysis/retain-release.m +++ b/clang/test/Analysis/retain-release.m @@ -272,6 +272,17 @@ void f14_leakimmediately() { CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // expected-warning{{leak}} } +// Test that we track an allocated object beyond the point where the *name* +// of the variable storing the reference is no longer live. +void f15() { + // Create the array. + CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); + CFMutableArrayRef *B = &A; + // At this point, the name 'A' is no longer live. + CFRelease(*B); // no-warning +} + + // Test basic tracking of ivars associated with 'self'. For the retain/release // checker we currently do not want to flag leaks associated with stores // of tracked objects to ivars. |

