blob: 54573a4606387f0a4dce128279faa71d0a214438 [file] [log] [blame]
Stephen Hinesc568f1e2014-07-21 00:47:37 -07001// RUN: %clang_cc1 -analyze %s -analyzer-checker=core,osx.cocoa.RetainCount -fblocks -verify
2
3// This test is checking behavior when a single checker runs only with the core
4// checkers, testing that the traversal order in the CFG does not affect the
5// reporting of an error.
6
7#import "Inputs/system-header-simulator-objc.h"
8
9void testDoubleRelease(BOOL z) {
10 id x = [[NSObject alloc] init];
11 if (z) {
12 [x release];
13 } else {
14 ;
15 }
16 [x release]; // expected-warning {{Reference-counted object is used after it is released}}
17}
18
19void testDoubleRelease2(BOOL z) {
20 id x = [[NSObject alloc] init];
21 if (z) {
22 ;
23 } else {
24 [x release];
25 }
26 [x release]; // expected-warning {{Reference-counted object is used after it is released}}
27}