aboutsummaryrefslogblamecommitdiff
path: root/test/Analysis/misc-ps-ranges.m
blob: 058c903722c0d4b59e285453c0c5d4d5877d1754 (plain) (tree)
1
2

                                                                                                                                                      



















                                       
 
// 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
}