summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-10-14 01:54:16 +0000
committerTed Kremenek <kremenek@apple.com>2009-10-14 01:54:16 +0000
commit0a62381d41e5a72ccf0a1b33468dc7e78c503861 (patch)
tree1bbe45e2b11c3b4766948e8de20826b4ada4f180
parentc745bf2d87ef6f751aae5e8c9e42e75d515dfd6b (diff)
downloadbcm5719-llvm-0a62381d41e5a72ccf0a1b33468dc7e78c503861.tar.gz
bcm5719-llvm-0a62381d41e5a72ccf0a1b33468dc7e78c503861.zip
Add test case for <rdar://problem/7257223>, and XFAIL this test until it passes.
llvm-svn: 84070
-rw-r--r--clang/test/Analysis/retain-release-region-store.m24
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/Analysis/retain-release-region-store.m b/clang/test/Analysis/retain-release-region-store.m
index 66950e2190e..7a696833f92 100644
--- a/clang/test/Analysis/retain-release-region-store.m
+++ b/clang/test/Analysis/retain-release-region-store.m
@@ -1,4 +1,5 @@
// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
+// XFAIL
//===----------------------------------------------------------------------===//
// The following code is reduced using delta-debugging from
@@ -115,4 +116,27 @@ CFAbsoluteTime f4() {
}
@end
+//===----------------------------------------------------------------------===//
+// <rdar://problem/7257223> - False positive due to not invalidating the
+// reference count of a tracked region that was itself invalidated.
+//===----------------------------------------------------------------------===//
+
+typedef struct __rdar_7257223 { CFDateRef x; } RDar7257223;
+void rdar_7257223_aux(RDar7257223 *p);
+
+// THIS CASE CURRENTLY FAILS.
+CFDateRef rdar7257223_Create(void) {
+ RDar7257223 s;
+ CFAbsoluteTime t = CFAbsoluteTimeGetCurrent();
+ s.x = CFDateCreate(0, t); // no-warning
+ rdar_7257223_aux(&s);
+ return s.x;
+}
+
+CFDateRef rdar7257223_Create_2(void) {
+ RDar7257223 s;
+ CFAbsoluteTime t = CFAbsoluteTimeGetCurrent();
+ s.x = CFDateCreate(0, t); // no-warning
+ return s.x;
+}
OpenPOWER on IntegriCloud