[libc++] [P0966] [C++20] Fix bug PR45368 by correctly implementing P0966: string...
authorMarek Kurdej <marek.kurdej@gmail.com>
Thu, 26 Nov 2020 09:07:16 +0000 (10:07 +0100)
committerMarek Kurdej <marek.kurdej@gmail.com>
Thu, 26 Nov 2020 09:13:12 +0000 (10:13 +0100)
commit841132efda2157c5f9e07cf31469470a6481ffd9
treea98330f64dace38cbf0ebee873932461b4787146
parent4f87d30a06dd08cec45cb595e9dbed6345c9a7c5
[libc++] [P0966] [C++20] Fix bug PR45368 by correctly implementing P0966: string::reserve should not shrink.

This patch fixes the implementation as well as the tests that didn't actually test the wanted behaviour.
You'll find all the details in the bug report.
It adds as well deprecation warning for reserve() (without argument) and adds a test.

http://wg21.link/P0966R1
https://bugs.llvm.org/show_bug.cgi?id=45368
https://reviews.llvm.org/D54992

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D91778
libcxx/docs/Cxx2aStatus.rst
libcxx/docs/Cxx2aStatusPaperStatus.csv
libcxx/include/__config
libcxx/include/string
libcxx/test/libcxx/strings/basic.string/string.capacity/reserve.pass.cpp [new file with mode: 0644]
libcxx/test/std/strings/basic.string/string.capacity/reserve.deprecated_in_cxx20.verify.cpp [new file with mode: 0644]
libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp [new file with mode: 0644]