[libcxx-commits] [PATCH] D109459: [libc++][ABI BREAK] Remove the C++03 emulation for std::nullptr_t
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Oct 5 11:52:49 PDT 2021
ldionne added a subscriber: dexonsmith.
ldionne added a comment.
@dexonsmith has had useful views on ABI changes in the past, I'm curious to have his opinion on this change, since I'm still ambivalent.
TL;DR: Today, `std::nullptr_t` is a different type in C++03 and C++11, which means that the ABI breaks between C++03 and C++11. This patch breaks the ABI in C++03 mode once, right now, to reconcile the C++03 and C++11 ABIs and remove some convolution from libc++. My hunch is that this will not affect too many people and hence it's reasonable. Remember that `nullptr` is a C++11 construct, so it would have to be someone compiling their code in C++03 mode *and* using our `nullptr` extension, *and* leaking `nullptr_t` in their ABI. Do you have an opinion?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109459/new/
https://reviews.llvm.org/D109459
More information about the libcxx-commits
mailing list