remove the Decl::getCanonicalType() method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49295 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 9498fb2..0f464a0 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -280,8 +280,8 @@
MergeAttributes(New, Old);
- QualType OldQType = Old->getType().getCanonicalType();
- QualType NewQType = New->getType().getCanonicalType();
+ QualType OldQType = Context.getCanonicalType(Old->getType());
+ QualType NewQType = Context.getCanonicalType(New->getType());
// Function types need to be compatible, not identical. This handles
// duplicate function decls like "void f(int); void f(enum X);" properly.
@@ -357,8 +357,9 @@
MergeAttributes(New, Old);
// Verify the types match.
- if (Old->getCanonicalType() != New->getCanonicalType() &&
- !areEquivalentArrayTypes(New->getCanonicalType(), Old->getCanonicalType())) {
+ QualType OldCType = Context.getCanonicalType(Old->getType());
+ QualType NewCType = Context.getCanonicalType(New->getType());
+ if (OldCType != NewCType && !areEquivalentArrayTypes(NewCType, OldCType)) {
Diag(New->getLocation(), diag::err_redefinition, New->getName());
Diag(Old->getLocation(), diag::err_previous_definition);
return New;
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp
index 9cf1b3c..c94c681 100644
--- a/lib/Sema/SemaDeclObjC.cpp
+++ b/lib/Sema/SemaDeclObjC.cpp
@@ -619,7 +619,8 @@
for (unsigned i = 0, e = Method->getNumParams(); i != e; ++i) {
ParmVarDecl *ParamDecl = Method->getParamDecl(i);
ParmVarDecl *PrevParamDecl = PrevMethod->getParamDecl(i);
- if (ParamDecl->getCanonicalType() != PrevParamDecl->getCanonicalType())
+ if (Context.getCanonicalType(ParamDecl->getType()) !=
+ Context.getCanonicalType(PrevParamDecl->getType()))
return false;
}
return true;