This revision was automatically updated to reflect the committed changes.
Closed by commit rL307505: optional: Implement LWG 2900 and P0602 (authored by
CaseyCarter).
Changed prior to commit:
https://reviews.llvm.org/D32385?vs=101631&id=105784#toc
Repository:
rL LLVM
https://reviews.llvm.or
EricWF accepted this revision.
EricWF added a comment.
This revision is now accepted and ready to land.
LGTM. I'll deal with ensuring all vendors are willing to take this ABI break
(or that they avoid it).
https://reviews.llvm.org/D32385
___
cfe-co
CaseyCarter updated this revision to Diff 101631.
CaseyCarter edited the summary of this revision.
CaseyCarter added a comment.
Incorporate the libcxx test tree `special_member_gen` test into the std test,
making my per-SMF triviality tests unnecessary.
https://reviews.llvm.org/D32385
Files:
CaseyCarter updated this revision to Diff 101366.
CaseyCarter added a comment.
Fix merge conflicts.
https://reviews.llvm.org/D32385
Files:
include/optional
test/libcxx/utilities/optional/optional.object/special_member_gen.pass.cpp
test/std/utilities/optional/optional.object/optional.obje
EricWF added a comment.
> libc++ committed to ABI stability for optional, a new feature of C++17,
> before the standard shipped?
Libc++ doesn't commit to anything, the vendors such as Apple and FreeBSD do. I
don't think either of them
have shipped a release with std::optional yet, but I need to
CaseyCarter added a comment.
In https://reviews.llvm.org/D32385#745771, @EricWF wrote:
> So Itanium ABI has this quirk where trivial types are passed using different
> conventions than non-trivial types. This means changing the triviality of
> `std::optional` for any instantiation is potentiall
EricWF added a comment.
So Itanium ABI has this quirk where trivial types are passed using different
conventions than non-trivial types. This means changing the triviality of
`std::optional` for any instantiation is potentially ABI breaking. I'll need to
do more investigation to find out how th
CaseyCarter updated this revision to Diff 97769.
CaseyCarter added a comment.
Polish: clarify `static_assert` messages, DeMorgan a clause so it more
precisely reflects the `static_assert` message.
https://reviews.llvm.org/D32385
Files:
include/optional
test/libcxx/utilities/optional/option
CaseyCarter updated this revision to Diff 97366.
CaseyCarter added a comment.
Fix a missing indent in the `msvc_stdlib_force_include.hpp` change.
https://reviews.llvm.org/D32385
Files:
include/optional
test/libcxx/utilities/optional/optional.object/special_member_gen.pass.cpp
test/std/ut
CaseyCarter updated this revision to Diff 97217.
CaseyCarter added a comment.
Update libc++-specific special member test for extended P0602 implementation.
https://reviews.llvm.org/D32385
Files:
include/optional
test/libcxx/utilities/optional/optional.object/special_member_gen.pass.cpp
t
CaseyCarter updated this revision to Diff 97203.
CaseyCarter added a comment.
Fix comment typo in optional.object.assign/move.pass.cpp
https://reviews.llvm.org/D32385
Files:
include/optional
test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp
test/std/utilit
CaseyCarter updated this revision to Diff 97188.
CaseyCarter retitled this revision from "[libcxx] Implement LWG 2900 "The copy
and move constructors of optional are not constexpr"" to "[libcxx] optional:
Implement LWG 2900 and P0602".
CaseyCarter edited the summary of this revision.
CaseyCarter
12 matches
Mail list logo