expnkx added a comment.

In D110485#3030874 <https://reviews.llvm.org/D110485#3030874>, @erichkeane 
wrote:

> In D110485#3030853 <https://reviews.llvm.org/D110485#3030853>, @expnkx wrote:
>
>> clang simply just does not truly support everything msvc supports. There are 
>> no things that deals [[msvc::]] attributes at all in the clang. In fact the 
>> point of using clang on windows is that we do not want to do the same as 
>> Microsoft does.
>>
>> Support [[no_unique_address]] is nothing wrong tbh and that is what ISO C++ 
>> standard requires.
>>
>> If we do not change, the Microsoft team won't wanna change either because 
>> they are afraid of breaking clang too.
>>
>> I never understand why [[no_unique_address]] is a problem.
>
> A requirement of Clang on Windows is that we are ABI compatible (so that we 
> can link between them!), the same way that Linux must match the Itanium ABI.  
> Allowing no_unique_address on Windows is an ABI compatibility issue.  In this 
> case, we have to pay attention to what the platform's ABI OWNERS define as 
> the ABI, which in this case is Microsoft.
>
> THAT is why this is a problem, and THAT is what is wrong with this change.
>
> If Microsoft defines an ABI for what this does, we can follow them and just 
> do that.

https://github.com/microsoft/STL/issues/1364

As Microsoft said, the reason why things like msvc::no_unique_address exist are 
because clang does not support it. In fact, it has become a vicious cycle. msvc 
waits clang, clang waits msvc.

It is a vicious cycle. I would argue it is LLVM's fault, not Microsoft's fault.

Sure you can add another attribute, i tried that, but adding another attribute 
for doing exactly the same thing through entire code base is just annoying and 
headache.

If clang does not support [[no_unique_address]], Microsoft is not going to 
support it either. Microsoft's own words.


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

https://reviews.llvm.org/D110485

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

Reply via email to