rsmith added a comment.

I think you should track lazy partial specializations separately from lazy full 
specializations -- we need to load all the partial specializations when doing 
partial specialization selection, and don't want to load all full 
specializations at the same time.



================
Comment at: lib/Serialization/ASTReaderDecl.cpp:92
       for (unsigned I = 0, Size = Record.readInt(); I != Size; ++I)
-        IDs.push_back(ReadDeclID());
+        IDs.push_back(LazySpecializationInfo(ReadDeclID(), Record.readInt()));
     }
----------------
Move these subexpressions to separate statements; the two "read" calls are not 
sequenced here.


================
Comment at: lib/Serialization/ASTReaderDecl.cpp:3972
       // It will be added to the template's lazy specialization set.
-      PendingLazySpecializationIDs.push_back(ReadDeclID());
+      LazySpecializationInfo LazySpecInfo(ReadDeclID(), Record.readInt());
+      PendingLazySpecializationIDs.push_back(LazySpecInfo);
----------------
Likewise here.


Repository:
  rL LLVM

https://reviews.llvm.org/D41416



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to