summaryrefslogtreecommitdiffstats
path: root/test/Analysis/misc-ps-ranges.m
blob: 49cc5933ccad7a4afc481e917038078cd23a1e57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// RUN: clang-cc -analyze -analyzer-experimental-internal-checks -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s
// RUN: clang-cc -analyze -analyzer-experimental-internal-checks -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s

// <rdar://problem/6776949>
// main's 'argc' argument is always > 0
int main(int argc, char* argv[]) {
  int *p = 0;

  if (argc == 0)
    *p = 1;

  if (argc == 1)
    return 1;

  int x = 1;
  int i;
  
  for(i=1;i<argc;i++){
    p = &x;
  }

  return *p; // no-warning
}
OpenPOWER on IntegriCloud