]> granicus.if.org Git - clang/commitdiff
Use ASTContext::getCanonicalType() to get TypedRegion's type.
authorZhongxing Xu <xuzhongxing@gmail.com>
Mon, 27 Oct 2008 13:35:03 +0000 (13:35 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Mon, 27 Oct 2008 13:35:03 +0000 (13:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58247 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/PathSensitive/MemRegion.h
lib/Analysis/RegionStore.cpp

index 5142427b459e6da8a5916fcd4753601e9a12877d..4465796f9c1c5ad1a94537de906e9e7495eadde4 100644 (file)
@@ -154,8 +154,8 @@ protected:
                             const MemRegion* superRegion);
 
 public:
-  QualType getType(ASTContext&) const {
-    return Str->getType();
+  QualType getType(ASTContext& C) const {
+    return C.getCanonicalType(Str->getType());
   }
 
   void Profile(llvm::FoldingSetNodeID& ID) const {
@@ -182,7 +182,7 @@ protected:
                             const MemRegion* superRegion);
 
 public:
-  QualType getType(ASTContext&) const { return T; }
+  QualType getType(ASTContext& C) const { return C.getCanonicalType(T); }
   
 
   void Profile(llvm::FoldingSetNodeID& ID) const;
@@ -247,7 +247,9 @@ class VarRegion : public DeclRegion {
   
 public:  
   const VarDecl* getDecl() const { return cast<VarDecl>(D); }
-  QualType getType(ASTContext&) const { return getDecl()->getType(); }
+  QualType getType(ASTContext& C) const { 
+    return C.getCanonicalType(getDecl()->getType());
+  }
   
   void print(llvm::raw_ostream& os) const;
   
@@ -267,7 +269,9 @@ public:
   void print(llvm::raw_ostream& os) const;
   
   const FieldDecl* getDecl() const { return cast<FieldDecl>(D); }
-  QualType getType(ASTContext&) const { return getDecl()->getType(); }
+  QualType getType(ASTContext& C) const {
+    return C.getCanonicalType(getDecl()->getType());
+  }
 
   static void ProfileRegion(llvm::FoldingSetNodeID& ID, FieldDecl* FD,
                       const MemRegion* superRegion) {
index ae0383d06eb316e4f83903a4283fb45a8e89b2ae..6a65919b1ee5a287d8a0d4a6a237bdc62bcfcb6a 100644 (file)
@@ -379,7 +379,7 @@ Store RegionStoreManager::InitializeArrayToUndefined(Store store, QualType T,
 
 Store RegionStoreManager::InitializeStructToUndefined(Store store, QualType T,
                                                       MemRegion* BaseR) {
-  QualType CT = T->getCanonicalTypeInternal();
+  QualType CT = StateMgr.getContext().getCanonicalType(T);
   const RecordType* RT = cast<RecordType>(CT.getTypePtr());
   RecordDecl* RD = RT->getDecl();
   assert(RD->isDefinition());