[llvm-branch-commits] [libcxx] bf8683a - [libc++] [docs] Mark LWG3055 as complete. Use string_view instead of string in path::operator+=(ECharT).
Marek Kurdej via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Dec 7 11:22:39 PST 2020
Author: Marek Kurdej
Date: 2020-12-07T20:18:09+01:00
New Revision: bf8683adfa39d53c223cf8b98fa036e835c9570e
URL: https://github.com/llvm/llvm-project/commit/bf8683adfa39d53c223cf8b98fa036e835c9570e
DIFF: https://github.com/llvm/llvm-project/commit/bf8683adfa39d53c223cf8b98fa036e835c9570e.diff
LOG: [libc++] [docs] Mark LWG3055 as complete. Use string_view instead of string in path::operator+=(ECharT).
The issue didn't change the behaviour which is tested in libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp.
The change to use string_view instead of string is not strictly necessary.
<filesystem> was added in commit 998a5c88312066fcc2b2de1358edc76587611354 (Implement <filesystem>).
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D92731
Added:
Modified:
libcxx/docs/Cxx2aStatusIssuesStatus.csv
libcxx/include/filesystem
Removed:
################################################################################
diff --git a/libcxx/docs/Cxx2aStatusIssuesStatus.csv b/libcxx/docs/Cxx2aStatusIssuesStatus.csv
index 4ef24005a3c0..2d0af44a259e 100644
--- a/libcxx/docs/Cxx2aStatusIssuesStatus.csv
+++ b/libcxx/docs/Cxx2aStatusIssuesStatus.csv
@@ -143,7 +143,7 @@
"`3182 <https://wg21.link/LWG3182>`__","Specification of ``Same``\ could be clearer","Kona","",""
"","","","",""
"`2899 <https://wg21.link/LWG2899>`__","``is_(nothrow_)move_constructible``\ and ``tuple``\ , ``optional``\ and ``unique_ptr``\ ","Cologne","",""
-"`3055 <https://wg21.link/LWG3055>`__","``path::operator+=(*single-character*)``\ misspecified","Cologne","",""
+"`3055 <https://wg21.link/LWG3055>`__","``path::operator+=(*single-character*)``\ misspecified","Cologne","|Complete|","7.0"
"`3158 <https://wg21.link/LWG3158>`__","``tuple(allocator_arg_t, const Alloc&)``\ should be conditionally explicit","Cologne","",""
"`3169 <https://wg21.link/LWG3169>`__","``ranges``\ permutation generators discard useful information","Cologne","",""
"`3183 <https://wg21.link/LWG3183>`__","Normative permission to specialize Ranges variable templates","Cologne","",""
diff --git a/libcxx/include/filesystem b/libcxx/include/filesystem
index d24751b716e3..1a44d9f360e3 100644
--- a/libcxx/include/filesystem
+++ b/libcxx/include/filesystem
@@ -940,9 +940,8 @@ public:
template <class _ECharT>
typename enable_if<__can_convert_char<_ECharT>::value, path&>::type
operator+=(_ECharT __x) {
- basic_string<_ECharT> __tmp;
- __tmp += __x;
- _PathCVT<_ECharT>::__append_source(__pn_, __tmp);
+ _PathCVT<_ECharT>::__append_source(__pn_,
+ basic_string_view<_ECharT>(&__x, 1));
return *this;
}
More information about the llvm-branch-commits
mailing list