From 0a62381d41e5a72ccf0a1b33468dc7e78c503861 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Wed, 14 Oct 2009 01:54:16 +0000 Subject: [PATCH] Add test case for , and XFAIL this test until it passes. llvm-svn: 84070 --- .../Analysis/retain-release-region-store.m | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/clang/test/Analysis/retain-release-region-store.m b/clang/test/Analysis/retain-release-region-store.m index 66950e2190ed..7a696833f92d 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 +//===----------------------------------------------------------------------===// +// - 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; +} -- GitLab