diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2008-10-27 13:17:02 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2008-10-27 13:17:02 +0000 |
commit | 7b700575dde6c4973a2fbb98b02ffebcd8a42e45 (patch) | |
tree | 7a6ef5e4399b1fa74a4121a509e5668350eb87be /clang/lib/Analysis/MemRegion.cpp | |
parent | 89ebcb9d8d4372c4cd06016cada925bf39b35efd (diff) | |
download | bcm5719-llvm-7b700575dde6c4973a2fbb98b02ffebcd8a42e45.tar.gz bcm5719-llvm-7b700575dde6c4973a2fbb98b02ffebcd8a42e45.zip |
An ElementRegion is really a typed region. Its super region's type has to be ArrayType.
llvm-svn: 58245
Diffstat (limited to 'clang/lib/Analysis/MemRegion.cpp')
-rw-r--r-- | clang/lib/Analysis/MemRegion.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Analysis/MemRegion.cpp b/clang/lib/Analysis/MemRegion.cpp index f14e0cba447..1db330cf096 100644 --- a/clang/lib/Analysis/MemRegion.cpp +++ b/clang/lib/Analysis/MemRegion.cpp @@ -83,6 +83,13 @@ void ElementRegion::ProfileRegion(llvm::FoldingSetNodeID& ID, SVal Idx, void ElementRegion::Profile(llvm::FoldingSetNodeID& ID) const { ElementRegion::ProfileRegion(ID, Index, superRegion); } + +QualType ElementRegion::getType(ASTContext& C) const { + QualType T = cast<TypedRegion>(superRegion)->getType(C); + ArrayType* AT = cast<ArrayType>(T.getTypePtr()); + return AT->getElementType(); +} + //===----------------------------------------------------------------------===// // Region pretty-printing. //===----------------------------------------------------------------------===// |