- Jul 14, 2009
-
-
Ted Kremenek authored
Change pretty-printing API for SymExprs and MemRegions to use a naming convention and style similar to other elements in Clang. llvm-svn: 75548
-
- Jul 13, 2009
-
-
Ted Kremenek authored
where we are comparing a symbolic value against itself, regardless of the nature of that symbolic value. This enhancement identified a case where RegionStoreManager is not correctly symbolicating the values of the pointees of parameters. The failing test is now in 'test/Analysis/misc-ps-region-store.m', with that test file now (temporarily) marked XFAIL. llvm-svn: 75521
-
- Jul 11, 2009
-
-
Ted Kremenek authored
Handle insidious corner case exposed by RegionStoreManager when handling void* values that are bound to symbolic regions and then treated like integers. llvm-svn: 75356
-
Ted Kremenek authored
MemRegion kinds. This allows the compiler to identify what MemRegions we don't handle for pointer arithmetic. llvm-svn: 75326
-
Steve Naroff authored
The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches. This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic. By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks. llvm-svn: 75314
-
Ted Kremenek authored
over the types of MemRegions. This allows the compiler to warn us which regions are not handled, and also is a little faster. llvm-svn: 75304
-
- Jul 10, 2009
-
-
Ted Kremenek authored
CodeTextRegions can only be casted to FunctionPointer or BlockPointerTypes. This simply isn't true. We can handle bogus operations on CodeTextRegions (e.g, an array access) elsewhere. llvm-svn: 75285
-
Ted Kremenek authored
void**, void***, etc. Such casts should just pass the region through. llvm-svn: 75281
-
Ted Kremenek authored
Rename potentially ambiguous member template 'getRegion' to 'getSubRegion' to hopefully resolve template lookup ambiguities on some compilers. llvm-svn: 75253
-
Ted Kremenek authored
and replace the 'clang-cc' option '-analyzer-store=basic-new-cast' with '-analyzer-store=basic-old-cast'. We'll keep the old CastRegion implementation around for a little while for regression testing. llvm-svn: 75209
-
- Jul 09, 2009
-
-
Zhongxing Xu authored
llvm-svn: 75127
-
- Jul 07, 2009
-
-
Zhongxing Xu authored
llvm-svn: 74890
-
Ted Kremenek authored
llvm-svn: 74884
-
Ted Kremenek authored
llvm-svn: 74877
-
Ted Kremenek authored
region type. This better shows the logic of the method and allows the compiler to check if we didn't handle a specific region kind. llvm-svn: 74876
-
Ted Kremenek authored
llvm-svn: 74875
-
Ted Kremenek authored
llvm-svn: 74874
-
Ted Kremenek authored
llvm-svn: 74872
-
Ted Kremenek authored
- Refactor logic that creates ElementRegions into a help method 'MakeElementRegion'. - Fix crash due to not handling StringRegions. Casts of StringRegions now result in a new ElementRegion layered on the original StringRegion. llvm-svn: 74867
-
- Jul 06, 2009
-
-
Ted Kremenek authored
Make 'BasicStoreManager' + 'NewCastRegion' testable from the command line using '-analyzer-store=basic-new-cast'. llvm-svn: 74865
-
Ted Kremenek authored
- Have test for 'CodeTextRegion' dominate other region tests. - Use 'getAsRecordType' instead of isa<RecordType> llvm-svn: 74853
-
Ted Kremenek authored
llvm-svn: 74852
-
Ted Kremenek authored
(its superclass). This will allow us to experiment with using the new CastRegion with BasicStoreManager, and gradually phase out the old implementation. llvm-svn: 74851
-
rdar://problem/7033733Ted Kremenek authored
Fix <rdar://problem/7033733>. The CF_RETURNS_RETAINED attribute should work if the return type on an Objective-C method is a CF type reference, not just an Objective-C object reference. llvm-svn: 74841
-
Zhongxing Xu authored
llvm-svn: 74816
-
Zhongxing Xu authored
No functionality change. llvm-svn: 74812
-
- Jul 03, 2009
-
-
Zhongxing Xu authored
llvm-svn: 74762
-
Ted Kremenek authored
llvm-svn: 74751
-
Ted Kremenek authored
BasicStoreManager: Use SymbolManager::canSymbolicate() to determine if a variable can be symbolicated. llvm-svn: 74750
-
Ted Kremenek authored
ValueManager::getRegionValueSymbolVal() with unguarded calls to ValueManager::getRegionValueSymbolValOrUnknown(). This changes centralizes the decision of what values to symbolicate in SymbolManager rather than having it scatter in RegionStoreManager. llvm-svn: 74730
-
Ted Kremenek authored
structures passed-by-value as function arguments. llvm-svn: 74729
-
- Jul 02, 2009
-
-
Ted Kremenek authored
directly consulting if a VarDecl is an implicit or actual parameter, a global, etc. llvm-svn: 74716
-
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
-
Ted Kremenek authored
actual lifetime to their logical lifetime. llvm-svn: 74665
-
Ted Kremenek authored
pass misc-ps.m. Currently RegionStore/BasicStore don't do any special reasoning about clang-style vectors, so we should return UnknownVal (in all cases) when accessing their values via an array. llvm-svn: 74660
-
- Jul 01, 2009
-
-
Zhongxing Xu authored
llvm-svn: 74581
-
Ted Kremenek authored
TypedRegion. While we plan on removing this code at some point, it serves as a good reference implementation for use with BasicStore until we are sure the new CastRegion logic (in RegionStore.cpp) is correct. llvm-svn: 74559
-
- Jun 30, 2009
-
-
Ted Kremenek authored
llvm-svn: 74552
-
Zhongxing Xu authored
Mark the super region of the binding of block level expr in the Environment as live. llvm-svn: 74525
-