[analyzer] Check that a member expr is valid even when the result is an lvalue.
authorJordan Rose <jordan_rose@apple.com>
Sat, 22 Sep 2012 01:24:33 +0000 (01:24 +0000)
committerJordan Rose <jordan_rose@apple.com>
Sat, 22 Sep 2012 01:24:33 +0000 (01:24 +0000)
commit04dcb7235f279306376be64a525311c322f90c7e
tree0a671a0ec947489358f820e61950d798f7e5cd81
parentd2718b1fedd724d734c01570e45d694964737879
[analyzer] Check that a member expr is valid even when the result is an lvalue.

We want to catch cases like this early, so that we can produce better
diagnostics and path notes:

  Point *p = 0;
  int *px = &p->x; // should warn here
  *px = 1;

llvm-svn: 164441
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
clang/test/Analysis/fields.c
clang/test/Analysis/nullptr.cpp