ojhunt wrote:

> It is very common for type traits to factor into the ABI of a template 
> specialization, such that `my_variant<T>` has a different layout depending on 
> `is_amazing_v<T>`. That is why changing the value of a type trait generally 
> has to be considered an ABI break.

ah right, it's not that the instantiated symbol directly references the trait 
in mangling or similar, it's that the layout differs based on the query even 
though the symbol name does not reference the trait.

@cor3ntin I think the correct call is to revert the removal of support for 
explicit qualifiers even though it does mean we'll need to do more work on perf 
design in future - do you agree with @rjmccall's rationale?


https://github.com/llvm/llvm-project/pull/144420
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to