- Jun 25, 2009
-
-
Ted Kremenek authored
llvm-svn: 74136
-
- Jun 23, 2009
-
-
Zhongxing Xu authored
llvm-svn: 73954
-
Zhongxing Xu authored
No functionality change. llvm-svn: 73952
-
Zhongxing Xu authored
Clean up code with ValueManager. llvm-svn: 73951
-
Zhongxing Xu authored
array elements to 0 explicitly. Create 0 values with the element type. llvm-svn: 73946
-
- Jun 19, 2009
-
-
Zhongxing Xu authored
because the type of the symbol is used to create the default range. We need the sign to be consistent. llvm-svn: 73756
-
Ted Kremenek authored
GRState->bindXXX and friends (and constify some arguments along the way). llvm-svn: 73740
-
- Jun 18, 2009
-
-
Zhongxing Xu authored
type. When retrieving the region value, if we are going to create a symbol value, use the cast-to type if possible. llvm-svn: 73690
-
- May 12, 2009
-
-
Zhongxing Xu authored
array region, set its default value to conjured symbol. When retrieving its element, create new region value symbol for the element. Also fix some 80 columns violations. llvm-svn: 71548
-
- May 09, 2009
-
-
Zhongxing Xu authored
SymbolRegionRValue => SymbolRegionValue SymExpr::RegionRValue => SymExpr::RegionValueKind llvm-svn: 71322
-
Zhongxing Xu authored
TypedRegion::getValueType(). llvm-svn: 71321
-
Zhongxing Xu authored
RValueType => ObjectType LValueType => LocationType No functionality change. llvm-svn: 71304
-
- May 04, 2009
-
-
Ted Kremenek authored
llvm-svn: 70865
-
Zhongxing Xu authored
no-outofbounds.c still fails. Previously it passed because the array index is mistakenly a loc::ConcreteInt. llvm-svn: 70844
-
- Apr 21, 2009
-
-
Ted Kremenek authored
layered regions. llvm-svn: 69686
-
- Apr 20, 2009
-
-
Zhongxing Xu authored
llvm-svn: 69577
-
Zhongxing Xu authored
get FunctionDecl with more general utility method. llvm-svn: 69570
-
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
-