[libcxx-commits] [libcxx] 2d83392 - [libc++] Mark LWG3211 as complete: default constructor of tuple<> should be trivial
Joe Loser via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Oct 29 09:09:20 PDT 2021
Author: Joe Loser
Date: 2021-10-29T12:08:51-04:00
New Revision: 2d83392a88572e3126fe78e65d522bdd1a8a0ca3
URL: https://github.com/llvm/llvm-project/commit/2d83392a88572e3126fe78e65d522bdd1a8a0ca3
DIFF: https://github.com/llvm/llvm-project/commit/2d83392a88572e3126fe78e65d522bdd1a8a0ca3.diff
LOG: [libc++] Mark LWG3211 as complete: default constructor of tuple<> should be trivial
`libc++` has had the guarantee of the default constructor of `tuple<>` being
trivial since 405570dc7a95cdf43cdee14b8a9f9c1657a6ad13. 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
Added:
libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.compile.pass.cpp
Modified:
libcxx/docs/Status/Cxx2bIssues.csv
Removed:
libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.pass.cpp
################################################################################
diff --git a/libcxx/docs/Status/Cxx2bIssues.csv b/libcxx/docs/Status/Cxx2bIssues.csv
index 9384357f86206..07e2f38cd55c6 100644
--- a/libcxx/docs/Status/Cxx2bIssues.csv
+++ b/libcxx/docs/Status/Cxx2bIssues.csv
@@ -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"
diff --git a/libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.pass.cpp b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.compile.pass.cpp
similarity index 73%
rename from libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.pass.cpp
rename to libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.compile.pass.cpp
index f9183154c31f7..d1b296d67eb1a 100644
--- a/libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.pass.cpp
+++ b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.compile.pass.cpp
@@ -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;
-}
More information about the libcxx-commits
mailing list