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

===================================================================
--- tools/clang/test/Modules/Inputs/redecl_templates_left.h	(revision 0)
+++ tools/clang/test/Modules/Inputs/redecl_templates_left.h	(revision 0)
@@ -0,0 +1,30 @@
+//namespace L {
+   // template <typename T> class AA;
+   // template <typename T> class AA {};

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