| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
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
|