uninit-vals.m revision ef74f4c6dcd59b3af1de9d8f613c1caf3e6cb63d
1// RUN: clang -cc1 -analyze -checker-cfref -analyzer-store=basic -verify %s
2// RUN: clang -cc1 -analyze -checker-cfref -analyzer-store=region -verify %s
3
4typedef unsigned int NSUInteger;
5
6@interface A
7- (NSUInteger)foo;
8@end
9
10NSUInteger f8(A* x){
11  const NSUInteger n = [x foo];
12  int* bogus;  
13
14  if (n > 0) {    // tests const cast transfer function logic
15    NSUInteger i;
16    
17    for (i = 0; i < n; ++i)
18      bogus = 0;
19
20    if (bogus)  // no-warning
21      return n+1;
22  }
23  
24  return n;
25}
26