[PATCH] D109496: [clang] deprecate frelaxed-template-template-args, make it on by default

Yaxun Liu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 2 13:20:40 PDT 2021


yaxunl added a comment.

In D109496#3103963 <https://reviews.llvm.org/D109496#3103963>, @mizvekov wrote:

> Thanks for reporting this!
>
> This change in the standard was worked a long time ago, and there was some expectation that there would be follow up work to add new partial ordering rules so that reasonable code would keep working. But the person behind that effort stopped participating in the process, so this fell into the cracks.
>
> We tried with this patch here to see if the rules would just work out as intended. Another option, which I believe is what GCC does, is to not do the DR part and apply it only to c++17 and later.
> However the breakage example you posted seems to be from a CUDA library which is not usable in the GCC ecosystem, is that correct? And that this library might be modern and used with newer standard as well?
>
> If that is the case, the GCC solution might not be good for us anyway, and the simplest thing would be to just implement some new rules.

The regression happens with rocThrust, which is CUDA Thrust ported to HIP language. However, I think the same issue would happen to CUDA Thrust.

These libraries need to work with C++17, therefore it is better to implement some new rules.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D109496/new/

https://reviews.llvm.org/D109496



More information about the cfe-commits mailing list