philnik added a comment.

In D122874#3422263 <https://reviews.llvm.org/D122874#3422263>, @aaron.ballman 
wrote:

> I'm not opposed, but this does muddy the waters about the target-specific 
> nature of the attribute. Currently, the semantic attribute cannot be used 
> outside of Itanium ABI targets, so it doesn't work on Windows (and we don't 
> want it to -- Microsoft hasn't picked their ABI for the standard attribute 
> and we want to avoid ABI breaks). But should we pick an ABI for the GNU 
> attribute on Windows and just assume that Microsoft gets no say in the ABI 
> for that because it's not their vendor extension? Or, if we disallow the GNU 
> spelling on Windows because we want it to match the ABI of the standard 
> attribute, does it actually help libc++ to expose the GNU spelling?
>
> Also, the change is missing test coverage and a release note.

The best option for libc++ would probably be having the same ABI for 
`__atrribute__((no_unique_address))` and `[[msvc::no_unique_address]]` on 
Windows. We already have code that uses 
`[[no_unique_address]]`/`[[msvc::no_unique_address]]` but clang-cl currently 
supports none of them, so there will be an ABI break if we declare these things 
stable before clang-cl has implemented one of these (although we don't 
//really// care about ABI stability on Windows AFAICT).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D122874

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

Reply via email to