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

   return D;
 }
 
@@ -2275,7 +2328,7 @@
   }
   MergedDeclsMap::iterator MergedPos = combineStoredMergedDecls(CanonDecl, ID);
   if (MergedPos != MergedDecls.end())

   if (!Reader.getContext().getLangOpts().Modules)
     return;
   
@@ -1731,7 +1739,7 @@
     return (FuncX->getLinkage() == FuncY->getLinkage()) &&
       FuncX->getASTContext().hasSameType(FuncX->getType(), FuncY->getType());
   }
-  
+    
   // Variables with the same type and linkage match.
   if (VarDecl *VarX = dyn_cast<VarDecl>(X)) {
     VarDecl *VarY = cast<VarDecl>(Y);
@@ -1744,20 +1752,26 @@
     NamespaceDecl *NamespaceY = cast<NamespaceDecl>(Y);
     return NamespaceX->isInline() == NamespaceY->isInline();
   }
