| // RUN: %clang_analyze_cc1 %s -analyzer-checker=core,osx.cocoa.RetainCount -fblocks -verify | 
 |  | 
 | // This test is checking behavior when a single checker runs only with the core | 
 | // checkers, testing that the traversal order in the CFG does not affect the | 
 | // reporting of an error. | 
 |  | 
 | #import "Inputs/system-header-simulator-objc.h" | 
 |  | 
 | void testDoubleRelease(BOOL z) { | 
 |   id x = [[NSObject alloc] init]; | 
 |   if (z) { | 
 |     [x release]; | 
 |   } else { | 
 |     ; | 
 |   } | 
 |   [x release]; // expected-warning {{Reference-counted object is used after it is released}} | 
 | } | 
 |  | 
 | void testDoubleRelease2(BOOL z) { | 
 |   id x = [[NSObject alloc] init]; | 
 |   if (z) { | 
 |     ; | 
 |   } else { | 
 |     [x release]; | 
 |   } | 
 |   [x release]; // expected-warning {{Reference-counted object is used after it is released}} | 
 | } |