mirror of
https://github.com/intel/llvm.git
synced 2026-01-27 06:06:34 +08:00
Process array base expression of any type.
llvm-svn: 59240
This commit is contained in:
@@ -186,6 +186,14 @@ SVal RegionStoreManager::getLValueElement(const GRState* St,
|
||||
|
||||
loc::MemRegionVal& BaseL = cast<loc::MemRegionVal>(Base);
|
||||
|
||||
// Pointer of any type can be cast and used as array base. We do not support
|
||||
// that case yet.
|
||||
if (!isa<ElementRegion>(BaseL.getRegion())) {
|
||||
// Record what we have seen in real code.
|
||||
assert(isa<FieldRegion>(BaseL.getRegion()));
|
||||
return UnknownVal();
|
||||
}
|
||||
|
||||
// We expect BaseR is an ElementRegion, not a base VarRegion.
|
||||
|
||||
const ElementRegion* ElemR = cast<ElementRegion>(BaseL.getRegion());
|
||||
|
||||
Reference in New Issue
Block a user