- Jul 19, 2009
-
-
Ted Kremenek authored
llvm-svn: 76380
-
- Jul 18, 2009
-
-
Zhongxing Xu authored
llvm-svn: 76294
-
Ted Kremenek authored
Fix crash in StoreManager::NewCastRegion() when handling casts from 'id' (or whatever) to a BlockPointerType. llvm-svn: 76288
-
Ted Kremenek authored
llvm-svn: 76287
-
Ted Kremenek authored
Fix some fallout from CFGBuilder restructuring: all expressions that we explicitly handle have the possibility to be block-level expressions. llvm-svn: 76277
-
Ted Kremenek authored
llvm-svn: 76262
-
Ted Kremenek authored
llvm-svn: 76261
-
Ted Kremenek authored
is an algorithm that is much easier to understand and slightly more efficient. Thanks to Mike Stump for our discussions on the CFGBuilder and his comments that helped prompt this long needed cleanup. llvm-svn: 76250
-
- Jul 17, 2009
-
-
Ted Kremenek authored
llvm-svn: 76205
-
Ted Kremenek authored
llvm-svn: 76202
-
Ted Kremenek authored
llvm-svn: 76196
-
Ted Kremenek authored
until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::getAs<XXX> methods, so we still have reduced implementation redundancy. Having explicit getAsXXXType() methods makes it easier to set breakpoints in the debugger. llvm-svn: 76193
-
Chris Lattner authored
llvm-svn: 76180
-
Zhongxing Xu authored
more obvious. llvm-svn: 76167
-
Zhongxing Xu authored
a public static method of ASTLocation. llvm-svn: 76166
-
Zhongxing Xu authored
code with the new method. llvm-svn: 76164
-
Zhongxing Xu authored
llvm-svn: 76161
-
Zhongxing Xu authored
- add IfStmt visitor. - print information only when a function has callee. Otherwise its ASTContext map is NULL. llvm-svn: 76156
-
Mike Stump authored
conventions. Also reflowed comments and removed spaces at end of lines and fixed up 80 col violations. llvm-svn: 76140
-
Ted Kremenek authored
Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents. llvm-svn: 76139
-
Mike Stump authored
llvm-svn: 76133
-
- Jul 16, 2009
-
-
Ted Kremenek authored
This method is intended to eventually replace the individual Type::getAsXXXType<> methods. The motivation behind this change is twofold: 1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of them are basically copy-and-paste. 2) By centralizing the implementation of the getAs<Type> logic we can more smoothly move over to Doug Gregor's proposed canonical type smart pointer scheme. Along with this patch: a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>. b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>. llvm-svn: 76098
-
Ted Kremenek authored
llvm-svn: 76092
-
Steve Naroff authored
Convert all clients to use the new predicate on Type. llvm-svn: 76076
-
Ted Kremenek authored
llvm-svn: 75885
-
Ted Kremenek authored
ValueManager::makeArrayIndex()/convertArrayIndex() methods. This handles yet another crash case when reasoning about array indices of different bitwidth and signedness. llvm-svn: 75884
-
Ted Kremenek authored
(1) Moved the SValuator object from GRExprEngine to ValueManager. This allows ValueManager to use the SValuator when creating SVals. (2) Added ValueManager::makeArrayIndex() and ValueManager::convertToArrayIndex(), two SVal creation methods that will help RegionStoreManager always have a consistent set of SVals with the same integer size and type when reasoning about array indices. llvm-svn: 75882
-
Zhongxing Xu authored
llvm-svn: 75873
-
Ted Kremenek authored
llvm-svn: 75865
-
rdar://problem/7062158Ted Kremenek authored
Fix <rdar://problem/7062158> by having BasicStoreManager model values for 'static' global variables. llvm-svn: 75844
-
- Jul 15, 2009
-
-
Ted Kremenek authored
llvm-svn: 75832
-
Zhongxing Xu authored
llvm-svn: 75761
-
Zhongxing Xu authored
llvm-svn: 75750
-
Ted Kremenek authored
llvm-svn: 75748
-
Zhongxing Xu authored
llvm-svn: 75745
-
Ted Kremenek authored
llvm-svn: 75738
-
Ted Kremenek authored
More test cases revealed that the logic in StoreManager::InvalidateRegion() needs more finesse when handling the invalidation of pointers. Pointers that were invalidated as integers could later cause problems for clients using them as pointers. It is easier for us to model a symbolic value as a pointer rather than modeling a non-symbolic value as a pointer. This patch causes: - StoreManager::InvalidateRegion() to not used the casted type of a region if it would cause a pointer type to be invalidated as a non-pointer type. - Pushes RegionStore::RetrieveElement() further by handling retrievals from symbolic arrays that have been invalidated. This uses the new SymbolDerived construct that was recently introduced. The result is that the failing test in misc-ps-region-store-x86_64.m now passes. Both misc-ps-region-store-x86_64.m and misc-ps-region-store-i386.m contain a test case that motivated this change. llvm-svn: 75730
-
Ted Kremenek authored
SymbolDerived allows us to model symbolic values that are related to other symbols via a region hierarchy. For example, SymbolDerived can be used to model individual values of a symbolic array. llvm-svn: 75728
-
Ted Kremenek authored
llvm-svn: 75713
-
- Jul 14, 2009
-
-
Ted Kremenek authored
Enhance RegionStoreManager to handle 'Retrieve's from SymbolicRegions. We do this by silently wrapping the region with an ElementRegion. This fixes the failures in misc-ps-region-store.m. llvm-svn: 75679
-