- Jul 02, 2009
-
-
Ted Kremenek authored
This will simplify the logic of StoreManagers that want to specially reason about the values of parameters. llvm-svn: 74715
-
Ted Kremenek authored
llvm-svn: 74709
-
- Jun 30, 2009
-
-
Chris Lattner authored
This is simple enough, but then I thought it would be nice to make PrintingPolicy get a LangOptions so that various things can key off "bool" and "C++" independently. This spiraled out of control. There are many fixme's, but I think things are slightly better than they were before. One thing that can be improved: CFG should probably have an ASTContext pointer in it, which would simplify its clients. llvm-svn: 74493
-
- Jun 23, 2009
-
-
Ted Kremenek authored
- Change implementation of MemRegion::hasStackStorage()/hasHeapStorage() to use 'getMemorySpace()'. This avoids a double traversal up the region hierarchy and is simpler. - Add MemRegion::hasHeapOrStackStorage() as a slightly more efficient alternative to 'hasStackStorage() || hasHeapStorage()'. llvm-svn: 73977
-
Ted Kremenek authored
llvm-svn: 73973
-
Zhongxing Xu authored
trait-based MemRegion creation. llvm-svn: 73941
-
Zhongxing Xu authored
llvm-svn: 73940
-
Ted Kremenek authored
- Embed a reference to MemRegionManager objects in MemSpaceRegion objects - Use this embedded reference for MemRegion objects to access ASTContext objects without external help - Use this access to ASTContext to simplify 'isBoundable' (no ASTContext& argument required) llvm-svn: 73935
-
Ted Kremenek authored
llvm-svn: 73927
-
Ted Kremenek authored
the new trait-based construction of MemRegion objects. llvm-svn: 73926
-
Ted Kremenek authored
new generalized region-construction code. llvm-svn: 73921
-
Ted Kremenek authored
member template functions and traits. The idea is to allow MemRegionManager to construct subclasses of MemRegion that aren't declared in MemRegion.h (e.g., checker-specific regions). llvm-svn: 73917
-
- Jun 16, 2009
-
-
Zhongxing Xu authored
be unique. llvm-svn: 73482
-
- May 09, 2009
-
-
Zhongxing Xu authored
RValueType => ObjectType LValueType => LocationType No functionality change. llvm-svn: 71304
-
- May 06, 2009
-
-
Zhongxing Xu authored
future we would create ElementRegion directly on top of typeless regions. llvm-svn: 71075
-
- May 04, 2009
-
-
Ted Kremenek authored
ElementRegion. I also removed 'ElementRegion::getArrayRegion', although we may need to add this back. This breaks a few test cases with RegionStore: - 'array-struct.c' triggers an infinite recursion in RegionStoreManager. Need to investigate. - misc-ps.m triggers a failure with RegionStoreManager as we now get the diagnostic: 'Line 159: Uninitialized or undefined return value returned to caller.' There were a bunch of places that needed to be edit RegionStoreManager, and we may not be passing all the correct 'element types' down from GRExprEngine. Zhongxing: When you get a chance, could you review this? I could have easily screwed up something basic in RegionStoreManager. llvm-svn: 70830
-
- Apr 29, 2009
-
-
Ted Kremenek authored
name of the tracked function. llvm-svn: 70381
-
- Apr 21, 2009
-
-
Ted Kremenek authored
the build). llvm-svn: 69702
-
Daniel Dunbar authored
llvm-svn: 69697
-
Ted Kremenek authored
llvm-svn: 69694
-
Ted Kremenek authored
llvm-svn: 69688
-
- 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
-
-
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
-
- Mar 31, 2009
-
-
Ted Kremenek authored
it. Will discuss offline whether symbolic regions should by typed or typeless. llvm-svn: 68070
-
- Mar 30, 2009
-
-
Ted Kremenek authored
llvm-svn: 68068
-
Zhongxing Xu authored
Layer the type information with a TypedViewRegion on top of the SymbolicRegion. llvm-svn: 68028
-
- 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 11, 2009
-
-
Ted Kremenek authored
TypedViewRegion has a valid rvalue type. Also renamed instance variable 'T' to 'LvalueType' to make it unambiguous of its purpose. This fixes some crashes I was seeing after: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090309/013771.html This is because 'isBoundable()' is defined in TypedRegion (the parent class) in terms of the rvalue type (which could be null), while for TypedViewRegion it should be defined in terms of the lvalue type. llvm-svn: 66712
-
- Mar 04, 2009
-
-
Ted Kremenek authored
- Have 'TypedRegion::getRValueType()' return a null QualType for 'id<...>' instead of aborting. - Change 'TypedRegion::isBoundable()' to return true for all objects with a non-null RValueType (this may not be the final behavior). llvm-svn: 66093
-
Ted Kremenek authored
Added the notion of a "boundable region", which is a region that can have a direct binding in the StoreManager. llvm-svn: 66005
-
- 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
-
- Mar 01, 2009
-
-
Ted Kremenek authored
llvm-svn: 65764
-
- Feb 06, 2009
-
-
Zhongxing Xu authored
for FieldRegion. This enables us to track more values. Simplify SymbolicRegion::getRValueType(). We assume the symbol always has pointer type. llvm-svn: 63928
-
- Feb 05, 2009
-
-
Zhongxing Xu authored
do the symblic regions associated with them and we need them to be typed. Current SymbolicRegion::getRValueType() method is very restricting. It may be modified when we are more clear about what could be the types of symblic regions. BasicConstraintManager::Assume() is changed due to that now SymblicRegion is a subclass of SubRegion. llvm-svn: 63844
-
- 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 24, 2009
-
-
Ted Kremenek authored
Fix crash ElementRegion::getRValueType() when the RvalueType of the ArrayRegion is a typedef and not (directly) a pointer. llvm-svn: 62909
-
- Jan 23, 2009
-
-
Zhongxing Xu authored
region. Otherwise we would get an extra level of pointer type. llvm-svn: 62844
-
- Jan 16, 2009
-
-
Ted Kremenek authored
StringRegion::print: Remove copy/paste code and just call Stmt::printPretty() for the StringLiteral. llvm-svn: 62340
-
- Jan 08, 2009
-
-
Zhongxing Xu authored
llvm-svn: 61924
-
- 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
-