    }
  }
  
-@@ -1779,7 +1801,7 @@
+@@ -1779,7 +1802,7 @@
      for (IdentifierResolver::iterator I = IdResolver.begin(Name), 
                                     IEnd = IdResolver.end();
           I != IEnd; ++I) {

   
   // Build up the list of redeclarations.
   RedeclChainVisitor Visitor(*this, SearchDecls, RedeclsDeserialized, CanonID);
@@ -2478,3 +2530,60 @@
     }
   }
 }

   }
 }
 
@@ -1846,9 +1890,11 @@
                                                    cast<NamespaceDecl>(Latest));
   } else {
     RedeclarableTemplateDecl *TD = cast<RedeclarableTemplateDecl>(D);
