Author: zaks
Date: Fri Mar 29 17:32:34 2013
New Revision: 178380

URL: http://llvm.org/viewvc/llvm-project?rev=178380&view=rev
Log:
[analyzer] Look for a StmtPoint node instead of PostStmt in 
trackNullOrUndefValue.

trackNullOrUndefValue tries to find the first node that matches the statement 
it is tracking.
Since we collect PostStmt nodes (in node reclamation), none of those might be 
on the
current path, so relax the search to look for any StmtPoint.

Modified:
    cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp

Modified: cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp?rev=178380&r1=178379&r2=178380&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp Fri Mar 29 
17:32:34 2013
@@ -845,7 +845,7 @@ bool bugreporter::trackNullOrUndefValue(
     // gone too far (though we can likely track the lvalue better anyway).
     do {
       const ProgramPoint &pp = N->getLocation();
-      if (Optional<PostStmt> ps = pp.getAs<PostStmt>()) {
+      if (Optional<StmtPoint> ps = pp.getAs<StmtPoint>()) {
         if (ps->getStmt() == S || ps->getStmt() == Inner)
           break;
       } else if (Optional<CallExitEnd> CEE = pp.getAs<CallExitEnd>()) {


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to