[cfe-commits] r47562 - /cfe/trunk/Analysis/GRExprEngine.cpp

Ted Kremenek kremenek at apple.com
Mon Feb 25 13:16:04 PST 2008


Author: kremenek
Date: Mon Feb 25 15:16:03 2008
New Revision: 47562

URL: http://llvm.org/viewvc/llvm-project?rev=47562&view=rev
Log:
Better handling of calls to functions via function pointers.

Modified:
    cfe/trunk/Analysis/GRExprEngine.cpp

Modified: cfe/trunk/Analysis/GRExprEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Analysis/GRExprEngine.cpp?rev=47562&r1=47561&r2=47562&view=diff

==============================================================================
--- cfe/trunk/Analysis/GRExprEngine.cpp (original)
+++ cfe/trunk/Analysis/GRExprEngine.cpp Mon Feb 25 15:16:03 2008
@@ -429,14 +429,16 @@
 
   // If we reach here we have processed all of the arguments.  Evaluate
   // the callee expression.
-  NodeSet DstTmp;  
-  Visit(CE->getCallee(), Pred, DstTmp);
+  NodeSet DstTmp;    
+  Expr* Callee = CE->getCallee()->IgnoreParenCasts();
+  
+  VisitLVal(Callee, Pred, DstTmp);
   
   // Finally, evaluate the function call.
   for (NodeSet::iterator DI = DstTmp.begin(), DE = DstTmp.end(); DI!=DE; ++DI) {
 
     StateTy St = (*DI)->getState();    
-    RVal L = GetLVal(St, CE->getCallee());
+    RVal L = GetLVal(St, Callee);
 
     // Check for uninitialized control-flow.
 





More information about the cfe-commits mailing list