| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
representation.
Add a type (ObjCObjectPointerType) and remove a type (ObjCQualifiedIdType).
This large/tedious patch is just a first step. Next step is to remove ObjCQualifiedInterfaceType. After that, I will remove the magic TypedefType for 'id' (installed by Sema). This work will enable various simplifications throughout clang (when dealing with ObjC types).
No functionality change.
llvm-svn: 73649
|
| |
|
|
|
|
|
|
| |
GRState object has a direct reference to its GRStateManager, making
the functionality of GRStateRef redunandant. This will lead to some
nice API cleanup and code shrinking across libAnalysis.
llvm-svn: 73644
|
| |
|
|
|
|
|
|
|
|
| |
- Add "sections" to RegionStoreManager.cpp to delineate functionality.
- Add new function "CreateFieldsOnlyRegionStoreManager" that uses the new
RegionStoreFeatures class to use a reduced set of features from
RegionStoreManager (in this case, only field-sensitivity). This isn't
completely hooked up yet.
llvm-svn: 73572
|
| |
|
|
|
|
| |
be unique.
llvm-svn: 73482
|
| |
|
|
|
|
| |
logic.
llvm-svn: 73279
|
| |
|
|
| |
llvm-svn: 73218
|
| |
|
|
|
|
| |
comments for added test case for details.
llvm-svn: 73189
|
| |
|
|
| |
llvm-svn: 73186
|
| |
|
|
| |
llvm-svn: 72166
|
| |
|
|
|
|
|
|
| |
RegionStore needs to know the type of alloca region.
* RegionStoreManager::EvalBinOp() now converts the alloca region to its first
element region, as what is done to symbolic region.
llvm-svn: 72164
|
| |
|
|
| |
llvm-svn: 72013
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
retrieve the string value.
llvm-svn: 71430
|
| |
|
|
|
|
| |
ElementRegion.
llvm-svn: 71428
|
| |
|
|
|
|
|
| |
pointee type is scalar type, create element region regardless with the sizes
of types.
llvm-svn: 71360
|
| |
|
|
|
|
| |
TypedViewRegion usage in region store.
llvm-svn: 71359
|
| |
|
|
|
|
|
| |
convert it to the first element region.
Also do not assume the array region is typed.
llvm-svn: 71358
|
| |
|
|
|
|
|
| |
region. In the future we may set the cast-to type as the same time. But for
now, we simply leave it as it is.
llvm-svn: 71357
|
| |
|
|
|
|
|
|
|
| |
Modify getLValueElement accordingly. Now we don't require base region
to be a typed region. Do not create TypedViewRegion when base region is
symbolic or alloca region. We can do so because each element region has
its type information.
llvm-svn: 71355
|
| |
|
|
|
|
| |
RegionStoreManager::CastRegion(). This case should be subsumed by others.
llvm-svn: 71353
|
| |
|
|
|
|
|
| |
SymbolRegionRValue => SymbolRegionValue
SymExpr::RegionRValue => SymExpr::RegionValueKind
llvm-svn: 71322
|
| |
|
|
|
|
| |
TypedRegion::getValueType().
llvm-svn: 71321
|
| |
|
|
|
|
|
|
|
| |
RValueType => ObjectType
LValueType => LocationType
No functionality change.
llvm-svn: 71304
|
| |
|
|
| |
llvm-svn: 71288
|
| |
|
|
|
|
| |
incomplete, do not compute its size and return the original region.
llvm-svn: 71213
|
| |
|
|
| |
llvm-svn: 71206
|
| |
|
|
| |
llvm-svn: 71205
|
| |
|
|
| |
llvm-svn: 71202
|
| |
|
|
|
|
|
|
| |
- add a static function getTypeWidth(), which computes the width of a type
with the help of TargetInfo.
- no-outofbounds.c now passes for region store.
llvm-svn: 71080
|
| |
|
|
| |
llvm-svn: 71076
|
| |
|
|
| |
llvm-svn: 71074
|
| |
|
|
| |
llvm-svn: 71060
|
| |
|
|
|
|
|
|
|
| |
RegionStore.
This CastRegion() performs casts according to the kind of the region being
cast instead of the type that is cast to.
llvm-svn: 71058
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
simplify the retrieve logic.
llvm-svn: 70651
|
| |
|
|
| |
llvm-svn: 70380
|
| |
|
|
|
|
|
|
| |
into StoreManager::CastRegion. Both methods were practically identical, and this
is core logic that is common to all StoreManagers since it defines the basic
invariants of the abstract memory model.
llvm-svn: 69730
|
| |
|
|
| |
llvm-svn: 69577
|
| |
|
|
| |
llvm-svn: 68771
|
| |
|
|
|
|
|
| |
- Pull SVal::GetConjuredSymbol() and friends into ValueManager. This greatly
simplifies the calling interface to clients.
llvm-svn: 68731
|
| |
|
|
|
|
| |
No functionality change (really).
llvm-svn: 68726
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
it. Will discuss offline whether symbolic regions should by typed or typeless.
llvm-svn: 68070
|
| |
|
|
| |
llvm-svn: 68068
|
| |
|
|
|
|
| |
Layer the type information with a TypedViewRegion on top of the SymbolicRegion.
llvm-svn: 68028
|
| |
|
|
| |
llvm-svn: 68024
|
| |
|
|
| |
llvm-svn: 67825
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
var region roots.
llvm-svn: 67152
|
| |
|
|
| |
llvm-svn: 66894
|