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

+
+   // class Redecl;
+
+   // template <typename T> int fwddeclThenDefinedInLeftRight(T);
+
+   // int usesfwddeclThenDefinedInLeftRight() {
+   //    return fwddeclThenDefinedInLeftRight((char)1); }
+
+   // template <typename T> int fwddeclThenDefinedInLeftRight(T) { return 0; }
+

   }
 }
 
@@ -2125,9 +2171,16 @@
   // AST consumer might need to know about, queue it.
   // We don't pass it to the consumer immediately because we may be in recursive
   // loading, and some declarations may still be initializing.
