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 {
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;
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;
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) {
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());