erichkeane added a comment.

In D147655#4251984 <https://reviews.llvm.org/D147655#4251984>, @rsmith wrote:

> In D147655#4251042 <https://reviews.llvm.org/D147655#4251042>, @aaron.ballman 
> wrote:
>
>> In D147655#4250922 <https://reviews.llvm.org/D147655#4250922>, @royjacobson 
>> wrote:
>>
>>> In D147655#4250056 <https://reviews.llvm.org/D147655#4250056>, @rsmith 
>>> wrote:
>>>
>>>> There has not been any stable ABI from any compiler targeting the Itanium 
>>>> C++ ABI for constrained templates prior to this change. I don't think we 
>>>> need to worry too much about people using unfinished compiler features 
>>>> being broken when those features are finished.
>>>
>>> The ABI has been stable for quite some time and people have been using 
>>> concepts with it for almost 3 years now. I'm not sure we can still break 
>>> ABI this easily. But then, I also have no data to say we can't.
>>
>> We've never claimed full support for concepts, so those folks would be 
>> relying on an unstable ABI. However, if it turns out this causes significant 
>> pain in practice, perhaps we could use ABI tags to give folks the older ABI? 
>> I'd prefer to avoid that in this case given that the feature isn't yet fully 
>> supported (I don't like the idea of setting a precedent for relying on the 
>> ABI of incomplete features in general), but concepts is a sufficiently 
>> important use case that I could imagine doing it as a one-off if needed.
>
> This patch already extends `-fclang-abi-compat` to retain the old manglings 
> so that users can stay on an old (broken) ABI if they need to. I don't think 
> we need to do more than that for the concepts mangling changes.
>
>>>> The ABI proposals haven't been accepted yet; I'm not intending to land 
>>>> this change until the proposals have reached consensus in the Itanium C++ 
>>>> ABI group.
>
> The corresponding (confirmed) GCC bug report that they don't implement these 
> mangling rules yet is: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100825
>
> This patch supersedes https://reviews.llvm.org/D126818 (apologies for the 
> duplicated work, @erichkeane -- I didn't find that before I started working 
> on this).

No problem!  This is a much more complete solution, and mine was held up on 
waiting for the Itanium ABI group to come to a consensus anyway (and fell by 
the wayside).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D147655

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to