forked from OSchip/llvm-project
35 lines
739 B
Objective-C
35 lines
739 B
Objective-C
// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-store=basic -verify %s
|
|
// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-store=region -verify %s
|
|
|
|
typedef unsigned int NSUInteger;
|
|
|
|
@interface A
|
|
- (NSUInteger)foo;
|
|
@end
|
|
|
|
NSUInteger f8(A* x){
|
|
const NSUInteger n = [x foo];
|
|
int* bogus;
|
|
|
|
if (n > 0) { // tests const cast transfer function logic
|
|
NSUInteger i;
|
|
|
|
for (i = 0; i < n; ++i)
|
|
bogus = 0;
|
|
|
|
if (bogus) // no-warning
|
|
return n+1;
|
|
}
|
|
|
|
return n;
|
|
}
|
|
|
|
|
|
// PR10163 -- don't warn for default-initialized float arrays.
|
|
// (An additional test is in uninit-vals-ps-region.m)
|
|
void test_PR10163(float);
|
|
void PR10163 (void) {
|
|
float x[2] = {0};
|
|
test_PR10163(x[1]); // no-warning
|
|
}
|