diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-01-23 10:19:29 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-01-23 10:19:29 +0000 |
commit | 570e088e4bd3479e4c10f1bd977e1600ae37f2ff (patch) | |
tree | 3dec44a843852746c066bedbb5d2a98c14713fc9 /clang | |
parent | d4aae43e79251801c6ac9e8c67eefac9dbc185e8 (diff) | |
download | bcm5719-llvm-570e088e4bd3479e4c10f1bd977e1600ae37f2ff.tar.gz bcm5719-llvm-570e088e4bd3479e4c10f1bd977e1600ae37f2ff.zip |
When getting the element region type, we should get the rvalue type of the super
region. Otherwise we would get an extra level of pointer type.
llvm-svn: 62844
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Analysis/MemRegion.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Analysis/MemRegion.cpp b/clang/lib/Analysis/MemRegion.cpp index 72b1e0b4f7f..2724ed0ada2 100644 --- a/clang/lib/Analysis/MemRegion.cpp +++ b/clang/lib/Analysis/MemRegion.cpp @@ -108,8 +108,8 @@ void ElementRegion::Profile(llvm::FoldingSetNodeID& ID) const { } QualType ElementRegion::getRValueType(ASTContext& C) const { - QualType T = getArrayRegion()->getLValueType(C); - // FIXME: Should ArrayType be considered an LValue or RValue type? + QualType T = getArrayRegion()->getRValueType(C); + if (isa<ArrayType>(T.getTypePtr())) { ArrayType* AT = cast<ArrayType>(T.getTypePtr()); return AT->getElementType(); |