Skip to content

Commit

Permalink
[analyzer] Add a test case for printing a path note at a PreStmt point.
Browse files Browse the repository at this point in the history
This is also a false-positive test case for <rdar://problem/12415065>.

<rdar://problem/12687586>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167994 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
jrose-apple committed Nov 14, 2012
1 parent 526e627 commit 318fd66
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion test/Analysis/blocks.m
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core -analyzer-store=region -fblocks -verify %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core -analyzer-store=region -fblocks -analyzer-opt-analyze-nested-blocks -verify %s

//===----------------------------------------------------------------------===//
// The following code is reduced using delta-debugging from Mac OS X headers:
Expand Down Expand Up @@ -26,6 +26,7 @@ @protocol NSMutableCopying - (id)mutableCopyWithZone:(NSZone *)zone; @end
@protocol NSCoding - (void)encodeWithCoder:(NSCoder *)aCoder; @end
@interface NSObject <NSObject> {}
+ (id)alloc;
- (id)init;
- (id)copy;
@end
extern id NSAllocateObject(Class aClass, NSUInteger extraBytes, NSZone *zone);
Expand Down Expand Up @@ -94,3 +95,29 @@ void testMessaging() {
// <rdar://problem/12119814>
[[^(){} copy] release];
}


// FALSE POSITIVE <rdar://problem/12415065>
@interface rdar12415065
@end

@implementation rdar12415065
- (void)test {
// At one point this crashed because we created a path note at a
// PreStmtPurgeDeadSymbols point but only knew how to deal with PostStmt
// points. <rdar://problem/12687586>

extern dispatch_queue_t queue;

if (!queue)
return;

dispatch_async(queue, ^{
double x = 0.0;
if (24.0f < x) {
dispatch_async(queue, ^{ (void)x; });
[self test];
}
});
}
@end

0 comments on commit 318fd66

Please sign in to comment.