- 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 29, 2009
-
-
Zhongxing Xu authored
llvm-svn: 74419
-
- Jun 28, 2009
-
-
Zhongxing Xu authored
handled by RetrieveArray(). llvm-svn: 74409
-
Zhongxing Xu authored
symbol. llvm-svn: 74408
-
Zhongxing Xu authored
llvm-svn: 74407
-
Zhongxing Xu authored
memregion. llvm-svn: 74406
-
- Jun 27, 2009
-
-
Ted Kremenek authored
llvm-svn: 74361
-
- Jun 26, 2009
-
-
Ted Kremenek authored
llvm-svn: 74245
-
Ted Kremenek authored
llvm-svn: 74244
-
Ted Kremenek authored
llvm-svn: 74238
-
Ted Kremenek authored
llvm-svn: 74231
-
Ted Kremenek authored
GRTransferFuncs had the conflated role of both constructing SVals (symbolic expressions) as well as handling checker-specific logic. Now SValuator has the role of constructing SVals from expressions and GRTransferFuncs just handles checker-specific logic. The motivation is by separating these two concepts we will be able to much more easily create richer constraint-generating logic without coupling it to the main checker transfer function logic. We now have one implementation of SValuator: SimpleSValuator. SimpleSValuator is essentially the SVal-related logic that was in GRSimpleVals (which is removed in this patch). This includes the logic for EvalBinOp, EvalCast, etc. Because SValuator has a narrower role than the old GRTransferFuncs, the interfaces are much simpler, and so is the implementation of SimpleSValuator compared to GRSimpleVals. I also did a line-by-line review of SVal-related logic in GRSimpleVals and cleaned it up while moving it over to SimpleSValuator. As a consequence of removing GRSimpleVals, there is no longer a '-checker-simple' option. The '-checker-cfref' did everything that option did but also ran the retain/release checker. Of course a user may not always wish to run the retain/release checker, nor do we wish core analysis logic buried in the checker-specific logic. The next step is to refactor the logic in CFRefCount.cpp to separate out these pieces into the core analysis engine. llvm-svn: 74229
-
- Jun 25, 2009
-
-
Ted Kremenek authored
llvm-svn: 74182
-
Zhongxing Xu authored
llvm-svn: 74168
-
Zhongxing Xu authored
llvm-svn: 74166
-
Zhongxing Xu authored
Revert to setting default value approach for handling struct initialization. llvm-svn: 74160
-
Ted Kremenek authored
llvm-svn: 74136
-
Ted Kremenek authored
llvm-svn: 74128
-
- Jun 24, 2009
-
-
Owen Anderson authored
llvm-svn: 74085
-
Zhongxing Xu authored
llvm-svn: 74047
-
Zhongxing Xu authored
llvm-svn: 74043
-
- Jun 23, 2009
-
-
Ted Kremenek authored
llvm-svn: 74006
-
Ted Kremenek authored
llvm-svn: 73996
-
Ted Kremenek authored
llvm-svn: 73995
-
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
-
Ted Kremenek authored
llvm-svn: 73968
-
Ted Kremenek authored
llvm-svn: 73958
-
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
explicitly. Make 0 value with the field type. llvm-svn: 73949
-
Zhongxing Xu authored
array elements to 0 explicitly. Create 0 values with the element type. llvm-svn: 73946
-
Zhongxing Xu authored
trait-based MemRegion creation. llvm-svn: 73941
-
Zhongxing Xu authored
llvm-svn: 73940
-
Zhongxing Xu authored
llvm-svn: 73939
-
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
-