[cfe-commits] r58552 - /cfe/trunk/lib/Analysis/GRExprEngine.cpp

Ted Kremenek kremenek at apple.com
Sat Nov 1 17:35:01 PDT 2008


Author: kremenek
Date: Sat Nov  1 19:35:01 2008
New Revision: 58552

URL: http://llvm.org/viewvc/llvm-project?rev=58552&view=rev
Log:
Add transfer function logic for alloca().

Modified:
    cfe/trunk/lib/Analysis/GRExprEngine.cpp

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

==============================================================================
--- cfe/trunk/lib/Analysis/GRExprEngine.cpp (original)
+++ cfe/trunk/lib/Analysis/GRExprEngine.cpp Sat Nov  1 19:35:01 2008
@@ -1241,6 +1241,16 @@
             continue;            
           }
             
+          case Builtin::BI__builtin_alloca: {
+            // FIXME: Handle size.
+            // FIXME: Refactor into StoreManager itself?
+            MemRegionManager& RM = getStateManager().getRegionManager();
+            const MemRegion* R =
+              RM.getAllocaRegion(CE, Builder->getCurrentBlockCount());            
+            MakeNode(Dst, CE, *DI, BindExpr(St, CE, loc::MemRegionVal(R)));
+            continue;            
+          }
+            
           default:
             break;
         }





More information about the cfe-commits mailing list