[libcxx-commits] [PATCH] D120064: Fix EBO on std::optional and std::variant when targeting the MSVC ABI

Reid Kleckner via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Mar 4 10:22:43 PST 2022


rnk added a comment.

In D120064#3359263 <https://reviews.llvm.org/D120064#3359263>, @mstorsjo wrote:

> In D120064#3359254 <https://reviews.llvm.org/D120064#3359254>, @hans wrote:
>
>> In D120064#3352471 <https://reviews.llvm.org/D120064#3352471>, @ldionne wrote:
>>
>>> Yeah, I agree with that. We could update the Windows row in https://libcxx.llvm.org/#platform-and-compiler-support to say that the ABI is unstable -- would that be reasonable?
>>
>> Sounds reasonable to me.
>
> At least for the MSVC/MSABI variant of it - most of these issues don't hit the mingw configuration. In the mingw configuration, there's also more use of the library as a platform library - where we'd preferrably avoid continuous ABI breakage if possible (but where it probably still can be tolerated if deemed necessary).

That's fine with me, and that's what I had in mind. The way that MSVC handles dllexport inline functions (IMO) makes it harder to stabilize the C++ ABI, and GCC and mingw-mode Clang handle those similarly to the way `-fvisibility-inlines-hidden` works on non-COFF targets.

The dllimport vs. exclude_from_explicit_instantiation conflict <https://github.com/llvm/llvm-project/issues/40363> comes to mind as an example of one of the challenges.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120064



More information about the libcxx-commits mailing list