- Dec 05, 2008
-
-
Ted Kremenek authored
Rename SymbolID to SymbolRef. This is a precursor to some overhauling of the representation of symbolic values. llvm-svn: 60575
-
Ted Kremenek authored
StoreManager::Retrieve and StoreManager::RemoveDeadBindings now take a GRState* argument instead of a Store. This allows them to use the GDM for storing other data. llvm-svn: 60570
-
- Dec 04, 2008
-
-
Ted Kremenek authored
Revamp RegionStoreManager::RemoveDeadBindings. This method now does a complete mark-and-sweep of the store, removing dead regions and recording the set of live and dead symbols appropriately. llvm-svn: 60523
-
Zhongxing Xu authored
llvm-svn: 60516
-
- Dec 02, 2008
-
-
Sebastian Redl authored
This may be the case on 64-bit systems. Whether that fact is a bug is a different question, but it's easy to cure the symptom. llvm-svn: 60422
-
- Nov 30, 2008
-
-
Zhongxing Xu authored
This fixes PR3127 http://llvm.org/bugs/show_bug.cgi?id=3127 llvm-svn: 60280
-
- Nov 29, 2008
-
-
Zhongxing Xu authored
llvm-svn: 60248
-
- Nov 28, 2008
-
-
Zhongxing Xu authored
When initialized, the index of the ElementRegion was unsigned. But the index value of the ArraySubscriptExpr is signed. This inconsistency caused the value of the array element retrieved to be UnknownVal despite it was initialized to symbolic. This is only a hack. Real fix of this problem is required. llvm-svn: 60207
-
Zhongxing Xu authored
llvm-svn: 60205
-
- Nov 27, 2008
-
-
Zhongxing Xu authored
GDMContext. llvm-svn: 60150
-
- Nov 24, 2008
-
-
Sebastian Redl authored
llvm-svn: 59975
-
Sebastian Redl authored
There might be other, similar bugs lurking there. llvm-svn: 59974
-
Zhongxing Xu authored
One design problem that is emerging is the signed-ness problem during static analysis. Many unsigned value have to be converted into signed value because it partipates in operations with signed values. On the other hand, we cannot blindly make all values occuring in static analysis signed, because we do have cases where unsignedness is required, for example, integer overflow detection. llvm-svn: 59957
-
Zhongxing Xu authored
llvm-svn: 59943
-
Zhongxing Xu authored
llvm-svn: 59932
-
Zhongxing Xu authored
llvm-svn: 59930
-
- Nov 23, 2008
-
-
Zhongxing Xu authored
llvm-svn: 59899
-
- Nov 22, 2008
-
-
Zhongxing Xu authored
llvm-svn: 59870
-
Zhongxing Xu authored
ConcreteInt index for now. llvm-svn: 59869
-
- Nov 19, 2008
-
-
Zhongxing Xu authored
llvm-svn: 59619
-
Ted Kremenek authored
llvm-svn: 59571
-
- Nov 18, 2008
-
-
Zhongxing Xu authored
handle the case that the array element is of structure type when bind the whole array to a single value (for example, UnknownVal, UndefinedVal). llvm-svn: 59521
-
- Nov 16, 2008
-
-
Zhongxing Xu authored
environment. llvm-svn: 59407
-
Zhongxing Xu authored
- RegionView and RegionViewMap is introduced to assist back-mapping from super region to subregions. - GDM is used to carry RegionView information. - AnonTypedRegion is added to represent a typed region introduced by pointer casting. Later AnonTypedRegion can be used in other similar cases, e.g., malloc()'ed region. - The specific conversion is delegated to store manager. llvm-svn: 59382
-
- Nov 15, 2008
-
-
Zhongxing Xu authored
llvm-svn: 59356
-
- Nov 13, 2008
-
-
Zhongxing Xu authored
llvm-svn: 59240
-
Zhongxing Xu authored
it to be evaluated by APSInt::operators. llvm-svn: 59238
-
Zhongxing Xu authored
llvm-svn: 59235
-
- Nov 12, 2008
-
-
Ted Kremenek authored
StoreManager::BindDecl now takes an SVal* for the initialization value instead of an Expr* (which can be null). Lazy symbolication of conjured symbols is now the sole responsibility of GRExprEngine. llvm-svn: 59151
-
- Nov 10, 2008
-
-
Zhongxing Xu authored
Implement RegionStoreManager::RemoveDeadBindings(). This prunes several false warning caused by removal of symbolic constraints. Currently we just mark all symbols live. Further optimization for dead binding removal needed. llvm-svn: 58982
-
- Nov 07, 2008
-
-
Zhongxing Xu authored
available, things get much simplified. One addition is that CompoundLiteralExpr can appear both in rvalue and lvalue context. llvm-svn: 58837
-
Zhongxing Xu authored
llvm-svn: 58833
-
- Nov 02, 2008
-
-
Zhongxing Xu authored
sets the whole struct to Unknown. Then we cannot assume the V passed to BindStruct() is always a CompoundVal. When it is an UnknownVal, we call BindStructToVal(UnknownVal). 2. Change the signature of InitializeStructToUndefined() to BindStructToVal() to reuse the code. llvm-svn: 58564
-
- Oct 31, 2008
-
-
Zhongxing Xu authored
Simplify interface. We can get canonical type from the base region directly. No need for an extra type argument. llvm-svn: 58507
-
Zhongxing Xu authored
llvm-svn: 58506
-
Zhongxing Xu authored
llvm-svn: 58504
-
Zhongxing Xu authored
llvm-svn: 58496
-
Zhongxing Xu authored
Implement load from struct region. Instead of returning an UnknownVal(), we create a CompoundVal by loading from each field of the struct. llvm-svn: 58494
-
- Oct 29, 2008
-
-
Zhongxing Xu authored
BindDecl better describes what the function does: - Bind the VarDecl to its memory region - Bind the memory region to some initial value. llvm-svn: 58359
-
- Oct 27, 2008
-
-
Ted Kremenek authored
- GRExprEngine::VisitCompoundLiteral... (1) visits the initializer list (generating ExplodedNodes) (2) creates a CompoundMemRegion for the literal (3) creates a new state with the bound literal values using GRStateManager::BindCompoundLiteral - GRStateManager::BindCompoundLiteral simply calls StoreManager::BindCompoundLiteral to get a new store and returns a persistent GRState with that store. - BasicStore::BindCompoundLiteral simply returns the same store, as it doesn't handle field sensitivity - RegionStore::BindCompoundLiteral currently fires an assert (pending discussion of how to best implement mappings for CompoundLiteralRegion). llvm-svn: 58277
-