Skip to content

Commit

Permalink
[libc++] Mark LWG3211 as complete: default constructor of tuple<> sho…
Browse files Browse the repository at this point in the history
…uld be trivial

`libc++` has had the guarantee of the default constructor of `tuple<>` being
trivial since 405570d. Now, the
standard mandates it as of LWG3211. So, move the file out of
`libcxx/test/libcxx` and into `libcxx/test/std` since it's no longer
`libc++`-specific. Rename it to be `.compile.pass.cpp` instead of
`.pass.cpp` while we're at it.

Reviewed By: ldionne, Quuxplusone, Mordante, #libc

Differential Revision: https://reviews.llvm.org/D112743
  • Loading branch information
JoeLoser committed Oct 29, 2021
1 parent 813fa79 commit 2d83392
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 9 deletions.
2 changes: 1 addition & 1 deletion libcxx/docs/Status/Cxx2bIssues.csv
Expand Up @@ -3,7 +3,7 @@
"`3117 <https://wg21.link/LWG3117>`__","Missing ``packaged_task`` deduction guides","November 2020","",""
"`3143 <https://wg21.link/LWG3143>`__","``monotonic_buffer_resource`` growth policy is unclear","November 2020","",""
"`3195 <https://wg21.link/LWG3195>`__","What is the stored pointer value of an empty ``weak_ptr``?","November 2020","",""
"`3211 <https://wg21.link/LWG3211>`__","``std::tuple<>`` should be trivially constructible","November 2020","",""
"`3211 <https://wg21.link/LWG3211>`__","``std::tuple<>`` should be trivially constructible","November 2020","|Complete|","9.0"
"`3236 <https://wg21.link/LWG3236>`__","Random access iterator requirements lack limiting relational operators domain to comparing those from the same range","November 2020","","","|ranges|"
"`3265 <https://wg21.link/LWG3265>`__","``move_iterator``'s conversions are more broken after P1207","November 2020","Fixed by `LWG3435 <https://wg21.link/LWG3435>`__",""
"`3435 <https://wg21.link/LWG3435>`__","``three_way_comparable_with<reverse_iterator<int*>, reverse_iterator<const int*>>``","November 2020","|Complete|","13.0"
Expand Down
Expand Up @@ -6,17 +6,9 @@
//
//===----------------------------------------------------------------------===//

// This test ensures that std::tuple<> is trivially constructible. That is not
// required by the Standard, but libc++ provides that guarantee.

// UNSUPPORTED: c++03

#include <tuple>
#include <type_traits>


static_assert(std::is_trivially_constructible<std::tuple<>>::value, "");

int main(int, char**) {
return 0;
}

0 comments on commit 2d83392

Please sign in to comment.