ChuanqiXu9 wrote: > > But my point is that we can't land that if we don't understand what's going > > wrong without that patch. > > We understand that very well and it's described in > https://reviews.llvm.org/D153003 as well as the surrounding discussions: > because of the way that `ODRHash` works, template template arguments `A` and > `B` will hash to different values, even if `using A = B`.
Yeah, so I tried to fix that in the following patches. And if that works, I expect that can fix internal errors in your workloads. > However, for template specializations, we require them to hash to the same > value (with some form of normalization) or we won't find nor load the right > specializations. That's why I said that IMHO `ODRHash` is not the right tool > for the job here, which follows directly from an old comment of yours: > https://reviews.llvm.org/D153003#4427412 > > > An important node here is that ODRHash is used to check the AST Nodes are > > keeping the same across compilations. There is gap to use ODRHash to check > > the semantical equality. > > (and IIRC that's the same direction that Richard was going) 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