diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-04-10 23:44:06 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-04-10 23:44:06 +0000 |
commit | 4b772096947829ee129ebfe53e8955751f843f61 (patch) | |
tree | dbdf42f76b8aae62b3ad68fab78a7bb3936bc64d /clang/test | |
parent | de615836f31d032025a98008082652e83c74da01 (diff) | |
download | bcm5719-llvm-4b772096947829ee129ebfe53e8955751f843f61.tar.gz bcm5719-llvm-4b772096947829ee129ebfe53e8955751f843f61.zip |
Fixed some logic errors in the CF ref count checker; we now can detect simple
use-after-release errors. Added test case.
llvm-svn: 49509
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Analysis-Apple/CFDate.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/Analysis-Apple/CFDate.c b/clang/test/Analysis-Apple/CFDate.c new file mode 100644 index 00000000000..ea15994e4da --- /dev/null +++ b/clang/test/Analysis-Apple/CFDate.c @@ -0,0 +1,15 @@ +// RUN: clang -checker-cfref -verify %s + +#include <CoreFoundation/CFDate.h> + +CFAbsoluteTime f1() { + CFAbsoluteTime t = CFAbsoluteTimeGetCurrent(); + CFDateRef date = CFDateCreate(NULL, t); + CFRetain(date); + CFRelease(date); + t = CFDateGetAbsoluteTime(date); + CFRelease(date); + t = CFDateGetAbsoluteTime(date); // expected-warning{{Reference-counted object is used after it is released.}} + return t; +} + |