misc-ps.m revision 9253b0f3d70b49f216e86447494ec0ff2315b31a
1// RUN: clang -checker-cfref --verify %s
2
3// Reduced test case from crash in <rdar://problem/6253157>
4@class NSObject;
5@interface A @end
6@implementation A
7- (void)foo:(void (^)(NSObject *x))block {
8  if (!((block != ((void *)0)))) {}
9}
10@end
11
12// Reduced test case from crash in PR 2796;
13//  http://llvm.org/bugs/show_bug.cgi?id=2796
14
15unsigned foo(unsigned x) { return __alignof__((x)) + sizeof(x); }
16
17// Improvement to path-sensitivity involving compound assignments.
18//  Addresses false positive in <rdar://problem/6268365>
19//
20
21unsigned r6268365Aux();
22
23void r6268365() {
24  unsigned x = 0;
25  x &= r6268365Aux();
26  unsigned j = 0;
27    
28  if (x == 0) ++j;
29  if (x == 0) x = x / j; // no-warning
30}
31
32