ChuanqiXu9 wrote: In the newest push, I changed 2 things: - In `ASTReader::LoadExternalSpecializations`, I am moving `Deserializing LookupResults(this);` before calculating the ODR hash for template arguments. Since I didn't realize that the ODRHash may trigger deserializing before. - I introduced `-fno-load-external-specializations-lazily` to ease the debugging. When this option specified, all the specializations will be loaded when required, which keeps the previous behavior.
So if the new patch can pass directly, then it implies the issue is that I didn't realize the ODRHash may trigger deserializing. And if not but it can pass with `-fno-load-external-specializations-lazily`, then it confirms the concern that the ODRHash algorithm for template arguments is not good. Then if it can't pass with `-fno-load-external-specializations-lazily` too, it implies that I missed something : ( CC: @ilya-biryukov @hahnjo https://github.com/llvm/llvm-project/pull/76774 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits