yxsamliu wrote:

> This patch will finally allow us to mark C++17 support in clang as complete.
> 
> This is a continuation of the review process from an [old PR in 
> phab](https://reviews.llvm.org/D109496).
> 
> Recap: The original patch from phab initially contained no workarounds / 
> provisional resolutions for core defects, Though testing by @yxsamliu 
> [here](https://reviews.llvm.org/D109496#3101839) showed problems with some 
> important libraries used in GPU applications, and we ended up reverting it.
> 
> In order to implement this as a DR and avoid breaking reasonable code that 
> worked before P0522, this patch implements a provisional resolution for 
> CWG2398: When deducing template template parameters against each other, and 
> the argument side names a template specialization, instead of just deducing 
> A, we deduce a synthesized template template parameter based on A, but with 
> it's parameters using the template specialization's arguments as defaults.
> 
> This does not fix all possible regressions introduced by P0522, but it does 
> seem to match in effect an undocumented workaround implemented by GCC. Though 
> it's unconfirmed how closely we match, as I have not received official word 
> regarding this yet. Fixing other regressions will require more extensive 
> changes, some of them would require possibly controversial wording changes, 
> and so is left for future work.
> 
> The driver flag is deprecated with a warning, and it will not have any effect.
> 
> @yxsamliu Can you confirm this version avoids any breakages in your setup?
> 
> CC: @yuanfang-chen @MaskRay @chandlerc @jicama @lichray @AaronBallman

I confirm this version avoids breakages in rocThrust which were reported 
before. Thanks.

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

Reply via email to