[libc++] Implement P0980R1 (constexpr std::string)

Reviewed By: #libc, ldionne

Spies: daltenty, sdasgup3, ldionne, arichardson, MTC, ChuanqiXu, mehdi_amini, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes, tatianashp, rdzhabarov, teijeong, cota, dcaballe, Chia-hungDuan, wrengr, wenzhicui, arphaman, Mordante, miscco, Quuxplusone, smeenai, libcxx-commits

Differential Revision: https://reviews.llvm.org/D110598
This commit is contained in:
Nikolas Klauser committed 2022-04-27 12:25:34 +02:00
1 parent 6e078f9804
commit 425620ccdd
211 files changed
+2291 -2074

No files matched your search

@@ -8,7 +8,9 @@
// <string>
// basic_string(const charT* s, const Allocator& a = Allocator());
// XFAIL: LIBCXX-AIX-FIXME
// basic_string(const charT* s, const Allocator& a = Allocator()); // constexpr since C++20
#include <string>
#include <stdexcept>
@@ -51,7 +53,7 @@ test(const charT* s, const A& a)
assert(s2.capacity() >= s2.size());
}
bool test() {
TEST_CONSTEXPR_CXX20 bool test() {
{
typedef test_allocator<char> A;
@@ -92,7 +94,7 @@ int main(int, char**)
{
test();
#if TEST_STD_VER > 17
// static_assert(test());
static_assert(test());
#endif
return 0;