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

Reply via email to