efriedma added a comment.

This sanitizer has a bit of a strange design compared to other sanitizers; it 
tries to compute the size of the base object using the IR at the point the pass 
runs.  So the later it runs, the more information it has.  Trivial example:
  static int accumulate(int* foo, int n) {
    int sum = 0;
    for (unsigned i = 0; i < n; i++)
      sum += foo[i];
    return sum;
  }
  extern void fill(int *arr, int n);
  int dosum(int n) {
    int foo[1000];
    fill(foo, n);
    return accumulate(foo, n);
  }


Repository:
  rC Clang

https://reviews.llvm.org/D49492



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to