- Apr 20, 2009
-
-
Zhongxing Xu authored
methods of SVal. llvm-svn: 69565
-
- Apr 11, 2009
-
-
Ted Kremenek authored
ProgramPoints all the way through to GRCoreEngine. NSString.m now fails with RegionStoreManager because of the void** cast. Disabling use of region store for that test for now. llvm-svn: 68845
-
- Apr 10, 2009
-
-
Ted Kremenek authored
llvm-svn: 68800
-
Zhongxing Xu authored
A CodeTextRegion wraps two kinds of data: FunctionDecl* or SymbolRef. The latter comes from the symbolic function pointer that are generated from function calls or input data. llvm-svn: 68777
-
Zhongxing Xu authored
llvm-svn: 68771
-
Ted Kremenek authored
- Pull SVal::GetConjuredSymbol() and friends into ValueManager. This greatly simplifies the calling interface to clients. llvm-svn: 68731
-
- Apr 09, 2009
-
-
Ted Kremenek authored
llvm-svn: 68711
-
Zhongxing Xu authored
llvm-svn: 68703
-
Zhongxing Xu authored
type of the expression where we create the symbol. llvm-svn: 68692
-
Zhongxing Xu authored
to eliminate the use of loc::SymbolVal. llvm-svn: 68685
-
- Apr 08, 2009
-
-
Ted Kremenek authored
Enhance analyzer reasoning about sending messages to nil. A nil receiver returns 0 for scalars of size <= sizeof(void*). llvm-svn: 68629
-
- Apr 03, 2009
-
-
Zhongxing Xu authored
when creating symbolic values, we distinguish between location and non-location values. For location values, we create a symbolic region instead of a loc::SymbolVal. llvm-svn: 68373
-
- Mar 30, 2009
-
-
Ted Kremenek authored
llvm-svn: 68063
-
- Mar 26, 2009
-
-
Ted Kremenek authored
Zhongxing and I discussed by email. Main changes: - Removed SymIntConstraintVal and SymIntConstraint - Added SymExpr as a parent class to SymbolData, SymSymExpr, SymIntExpr - Added nonloc::SymExprVal to wrap SymExpr - SymbolRef is now just a typedef of 'const SymbolData*' - Bunch of minor code cleanups in how some methods were invoked (no functionality change) This changes are part of a long-term plan to have full symbolic expression trees. This will be useful for lazily evaluating complicated expressions. llvm-svn: 67731
-
- Mar 25, 2009
-
-
Zhongxing Xu authored
representing symbolic expressions like 'x'+3 and 'x'+'y'. The design is subjected to change later when we fix the class hierarchy of symbolic expressions. llvm-svn: 67678
-
- Mar 20, 2009
-
-
Ted Kremenek authored
- Conjure symbols at '--' and '++' unary operations - Add utility method SVal::GetConjuredSymbolVal() and constify some arguments along the way. llvm-svn: 67395
-
- Mar 18, 2009
-
-
rdar://problem/6695527Ted Kremenek authored
SVal::GetRValueSymbolVal do the checking if we can symbolicate a type instead of having BasicStoreManager do it (which wasn't always doing the check consistently). Having this check in SVal::GetRValueSymbolVal keeps the check in one centralized place. llvm-svn: 67245
-
- Mar 10, 2009
-
-
Daniel Dunbar authored
llvm-svn: 66555
-
- Mar 03, 2009
-
-
Ted Kremenek authored
SVal::getAsLocSymbol(). This simplifies the code and allows the retain/release checker to (I believe) also correctly reason about location symbols wrapped in SymbolicRegions. Along the way I cleaned up SymbolRef a little, disallowing implicit casts to 'unsigned'. llvm-svn: 65972
-
Ted Kremenek authored
llvm-svn: 65956
-
- Jan 30, 2009
-
-
Ted Kremenek authored
- NonLoc::MakeVal() would use sizeof(unsigned) (literally) instead of consulting ASTContext for the size (in bits) of 'int'. While it worked, it was a conflation of concepts and using ASTContext.IntTy is 100% correct. - RegionStore::getSizeInElements() no longer assumes that a VarRegion has the type "ConstantArray", and handles the case when uses use ordinary variables as if they were arrays. - Fixed ElementRegion::getRValueType() to just return the rvalue type of its "array region" in the case the array didn't have ArrayType. - All of this fixes <rdar://problem/6541136> llvm-svn: 63347
-
- Jan 22, 2009
-
-
Ted Kremenek authored
their associated APIs. We no longer need separate SymbolData objects for fields, variables, etc. Instead, we now associated symbols with the "rvalue" of a MemRegion (i.e., the value stored at that region). Now we only have two kinds of SymbolData objects: SymbolRegionRValue and SymbolConjured. This cleanup also makes the distinction between a SymbolicRegion and a symbolic value that is a location much clearer. A SymbolicRegion represents a chunk of symbolic memory, while a symbolic location is just a "pointer" with different possible values. Without any specific knowledge, a symbolic location resolves (i.e., via a dereference) to a SymbolicRegion. In the future, when we do better alias reasoning, a symbolic location can become an alias for another location, thus merging the constraints on the referred SymbolicRegion with the other region. llvm-svn: 62769
-
- Dec 20, 2008
-
-
Zhongxing Xu authored
* Now Bind() methods take and return GRState* because binding could also alter GDM. * No variables are initialized except those declared with initial values. * failed C test cases are due to bugs in RemoveDeadBindings(), which removes constraints that is still alive. This will be fixed in later patch. * default value of array and struct regions will be implemented in later patch. llvm-svn: 61274
-
- Dec 09, 2008
-
-
Zhongxing Xu authored
llvm-svn: 60758
-
- 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
-
- Nov 24, 2008
-
-
Zhongxing Xu authored
llvm-svn: 59956
-
Zhongxing Xu authored
llvm-svn: 59930
-
- Nov 22, 2008
-
-
Zhongxing Xu authored
ConcreteInt index for now. llvm-svn: 59869
-
- Nov 19, 2008
-
-
Zhongxing Xu authored
llvm-svn: 59618
-
- Nov 15, 2008
-
-
Ted Kremenek authored
llvm-svn: 59334
-
- Oct 30, 2008
-
-
Ted Kremenek authored
Pretty-printing for SVals now mainly uses llvm::raw_ostream. We have an adapter for std::ostream, but this will be removed in the future. llvm-svn: 58445
-
Ted Kremenek authored
Added pretty-printing for nonloc::CompoundSVal. llvm-svn: 58442
-
Ted Kremenek authored
llvm-svn: 58441
-
Ted Kremenek authored
CompoundVal now uses an ImmutableList<SVal> to store its set of SVals. This change was motivated by the need to allow state-splitting in GRExprEngine::VisitInitListExpr. As a side-benefit, we no longer need to perform any copies of SVals when creating a CompoundSVal, and the profiling of CompoundSVal is now constant time. llvm-svn: 58437
-
Zhongxing Xu authored
llvm-svn: 58418
-
- Oct 28, 2008
-
-
Ted Kremenek authored
- Add symbol_iterator support for SymbolicRegions. llvm-svn: 58300
-
- Oct 26, 2008
-
-
Zhongxing Xu authored
llvm-svn: 58182
-
- Oct 24, 2008
-
-
Zhongxing Xu authored
llvm-svn: 58073
-
- Oct 21, 2008
-
-
Zhongxing Xu authored
RValues.h/cpp => SVals.h/cpp llvm-svn: 57893
-
- Oct 17, 2008
-
-
Zhongxing Xu authored
RVal => SVal LVal => Loc NonLVal => NonLoc lval => loc nonlval => nonloc llvm-svn: 57671
-