]> granicus.if.org Git - clang/commitdiff
remove the Decl::getCanonicalType() method.
authorChris Lattner <sabre@nondot.org>
Sun, 6 Apr 2008 23:10:54 +0000 (23:10 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 6 Apr 2008 23:10:54 +0000 (23:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49295 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/Decl.h
lib/CodeGen/CGDecl.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaDeclObjC.cpp

index c6c77b43e6b78357c4410cd625673eaee9f34664..b3dd43cd18fd379c82937dc3448c62c3c27bb67f 100644 (file)
@@ -116,7 +116,6 @@ protected:
 public:
   QualType getType() const { return DeclType; }
   void setType(QualType newType) { DeclType = newType; }
-  QualType getCanonicalType() const { return DeclType.getCanonicalType(); }
   
   // Implement isa/cast/dyncast/etc.
   static bool classof(const Decl *D) {
index 3fcd60e7b6fd831f7d776caca131ee72909155b9..8255c12f010b929964e7b557a252e2631bc5c3dc 100644 (file)
@@ -66,7 +66,7 @@ void CodeGenFunction::EmitBlockVarDecl(const BlockVarDecl &D) {
 }
 
 void CodeGenFunction::EmitStaticBlockVarDecl(const BlockVarDecl &D) {
-  QualType Ty = D.getCanonicalType();
+  QualType Ty = D.getType();
   assert(Ty->isConstantSizeType() && "VLAs can't be static");
   
   llvm::Value *&DMEntry = LocalDeclMap[&D];
@@ -94,14 +94,13 @@ void CodeGenFunction::EmitStaticBlockVarDecl(const BlockVarDecl &D) {
                              Init, ContextName + "." + D.getName(),
                              &CGM.getModule(), 0,
                              Ty.getAddressSpace());
-  
 }
   
 /// EmitLocalBlockVarDecl - Emit code and set up an entry in LocalDeclMap for a
 /// variable declaration with auto, register, or no storage class specifier.
 /// These turn into simple stack objects.
 void CodeGenFunction::EmitLocalBlockVarDecl(const BlockVarDecl &D) {
-  QualType Ty = D.getCanonicalType();
+  QualType Ty = D.getType();
 
   llvm::Value *DeclPtr;
   if (Ty->isConstantSizeType()) {
@@ -133,7 +132,7 @@ void CodeGenFunction::EmitLocalBlockVarDecl(const BlockVarDecl &D) {
 
 /// Emit an alloca for the specified parameter and set up LocalDeclMap.
 void CodeGenFunction::EmitParmDecl(const ParmVarDecl &D, llvm::Value *Arg) {
-  QualType Ty = D.getCanonicalType();
+  QualType Ty = D.getType();
   
   llvm::Value *DeclPtr;
   if (!Ty->isConstantSizeType()) {
index 9498fb2c9e095008dde60058da991001bdf28cde..0f464a0bc79f6ea4148b93cb787e9a3552c39f45 100644 (file)
@@ -280,8 +280,8 @@ FunctionDecl *Sema::MergeFunctionDecl(FunctionDecl *New, Decl *OldD) {
   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 @@ VarDecl *Sema::MergeVarDecl(VarDecl *New, Decl *OldD) {
   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;
index 9cf1b3c42593634f429c7196702185a655466a0c..c94c681fcb50f22619ca0005550f0c06123fdb81 100644 (file)
@@ -619,7 +619,8 @@ bool Sema::MatchTwoMethodDeclarations(const ObjCMethodDecl *Method,
   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;