Go to file
Jordan Rose 9a6d4f3644 [analyzer] If a lazy binding is undefined, pretend that it's unknown instead.
This is a hack to work around the fact that we don't track extents for our
default bindings:

  CGPoint p;
  p.x = 0.0;
  p.y = 0.0;
  rectParam.origin = p;
  use(rectParam.size); // warning: uninitialized value in rectParam.size.width

In this case, the default binding for 'p' gets copied into 'rectParam',
because the 'origin' field is at offset 0 within CGRect. From then on,
rectParam's old default binding (in this case a symbol) is lost.

This patch silences the warning by pretending that lazy bindings are never
made from uninitialized memory, but not only is that not true, the original
default binding is still getting overwritten (see FIXME test cases).
The long-term solution is tracked in <rdar://problem/12701038>

PR14765 and <rdar://problem/12875012>

llvm-svn: 174031
2013-01-31 02:57:06 +00:00
clang [analyzer] If a lazy binding is undefined, pretend that it's unknown instead. 2013-01-31 02:57:06 +00:00
clang-tools-extra Don't touch unchanged file for in-place edit. 2013-01-30 09:52:38 +00:00
compiler-rt [build/clang_darwin] Fix the case reversal in r173465. 2013-01-30 21:45:35 +00:00
debuginfo-tests Harden this test a bit to work on the mac with ancient gdbs. 2013-01-17 20:09:50 +00:00
libclc Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
libcxx Saleem Abdulrasool: If errno is defined as volatile int, the qualifier differences can cause 2013-01-22 17:26:08 +00:00
libcxxabi Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
lld [ELF] Fix circular initialization bug. 2013-01-30 20:36:56 +00:00
lldb expressions + C++11 lambdas == cooooool!!! 2013-01-30 22:57:34 +00:00
llvm Change stripAndComputeConstantOffsets to accept a NULL DataLayout pointer 2013-01-31 02:50:36 +00:00
polly cmake: Install all polly include files 2013-01-19 14:17:52 +00:00