| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
RegionStoreManager::getInitialStore().
llvm-svn: 59619
|
|
|
|
| |
llvm-svn: 59571
|
|
|
|
|
|
| |
whole array to a single value (for example, UnknownVal, UndefinedVal).
llvm-svn: 59521
|
|
|
|
|
|
| |
environment.
llvm-svn: 59407
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 59356
|
|
|
|
| |
llvm-svn: 59240
|
|
|
|
|
|
| |
it to be evaluated by APSInt::operators.
llvm-svn: 59238
|
|
|
|
| |
llvm-svn: 59235
|
|
|
|
|
|
| |
instead of an Expr* (which can be null). Lazy symbolication of conjured symbols is now the sole responsibility of GRExprEngine.
llvm-svn: 59151
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
available, things get much simplified.
One addition is that CompoundLiteralExpr can appear both in rvalue and lvalue
context.
llvm-svn: 58837
|
|
|
|
| |
llvm-svn: 58833
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
No need for an extra type argument.
llvm-svn: 58507
|
|
|
|
| |
llvm-svn: 58506
|
|
|
|
| |
llvm-svn: 58504
|
|
|
|
| |
llvm-svn: 58496
|
|
|
|
|
|
| |
create a CompoundVal by loading from each field of the struct.
llvm-svn: 58494
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 58247
|
|
|
|
| |
llvm-svn: 58243
|
|
|
|
|
|
| |
crash on TypedefType.
llvm-svn: 58236
|
|
|
|
|
|
| |
the Store.
llvm-svn: 58182
|
|
|
|
|
|
| |
to get the first element region. It is not necessary to care about the kind of the base array region.
llvm-svn: 58181
|
|
|
|
|
|
|
| |
for StringLiteral lvalue evaluation, instead of directly returning a
loc::StringLiteralVal by the Environment.
llvm-svn: 58138
|
|
|
|
|
|
| |
associated with the "this" or "self" object (C++ and Objective-C respectively).
llvm-svn: 58107
|
|
|
|
|
|
| |
RegionStoreManager::ArrayToPointer().
llvm-svn: 58086
|
|
|
|
|
|
| |
the array initialization code into a function.
llvm-svn: 58083
|
|
|
|
| |
llvm-svn: 58074
|
|
|
|
| |
llvm-svn: 58070
|
|
|
|
| |
llvm-svn: 58061
|
|
|
|
| |
llvm-svn: 58058
|
|
|
|
| |
llvm-svn: 58056
|
|
|
|
| |
llvm-svn: 57977
|
|
|
|
| |
llvm-svn: 57909
|
|
|
|
| |
llvm-svn: 57896
|
|
|
|
|
|
| |
initialized to UndefinedVal.
llvm-svn: 57892
|
|
|
|
|
|
|
|
|
| |
- Added new region "SymbolicRegion", which maps symbol values to the region domain.
- Enhanced BasicStore::getFieldLValue() to return a FieldRegion (using SymbolicRegion)
- Added some utility methods to GRState for fetch svals from the store.
- Fixed regression in CheckNSError (we weren't getting the value bound to the parameter)
llvm-svn: 57717
|
|
|
|
|
|
|
|
|
|
| |
RVal => SVal
LVal => Loc
NonLVal => NonLoc
lval => loc
nonlval => nonloc
llvm-svn: 57671
|
|
things are simplified: no heap shape assumption, no parameter alias assumption, etc.
llvm-svn: 57285
|