          return FindExistingResult(Reader, D, *R.first);
      }
    }
-@@ -1798,22 +1823,38 @@
+@@ -1798,22 +1822,41 @@
  void ASTDeclReader::attachPreviousDecl(Decl *D, Decl *previous) {
    assert(D && previous);
    if (TagDecl *TD = dyn_cast<TagDecl>(D)) {

   if (!Reader.getContext().getLangOpts().Modules)
     return;
   
@@ -1731,7 +1739,16 @@
     return (FuncX->getLinkage() == FuncY->getLinkage()) &&
       FuncX->getASTContext().hasSameType(FuncX->getType(), FuncY->getType());
   }

   DeclID FirstDeclID = ReadDeclID(Record, Idx);
   
   // 0 indicates that this declaration was the only declaration of its entity,
@@ -1545,6 +1551,7 @@
 void ASTDeclReader::mergeRedeclarable(Redeclarable<T> *D, 
                                       RedeclarableResult &Redecl) {
   // If modules are not available, there is no reason to perform this merge.
