[libcxx-commits] [libcxx] 782a91e - [libc++][C++03] Cherry-pick #100879 (#163370)
via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Oct 14 04:38:40 PDT 2025
Author: Nikolas Klauser
Date: 2025-10-14T13:38:36+02:00
New Revision: 782a91e1fc94d9c82495f60afc5ed5edd72de776
URL: https://github.com/llvm/llvm-project/commit/782a91e1fc94d9c82495f60afc5ed5edd72de776
DIFF: https://github.com/llvm/llvm-project/commit/782a91e1fc94d9c82495f60afc5ed5edd72de776.diff
LOG: [libc++][C++03] Cherry-pick #100879 (#163370)
Added:
Modified:
libcxx/include/__cxx03/sstream
libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
Removed:
################################################################################
diff --git a/libcxx/include/__cxx03/sstream b/libcxx/include/__cxx03/sstream
index 44c2423a6e1fa..741158aa1a01f 100644
--- a/libcxx/include/__cxx03/sstream
+++ b/libcxx/include/__cxx03/sstream
@@ -354,9 +354,15 @@ private:
public:
// [stringbuf.cons] constructors:
- _LIBCPP_HIDE_FROM_ABI basic_stringbuf() : __hm_(nullptr), __mode_(ios_base::in | ios_base::out) {}
+ _LIBCPP_HIDE_FROM_ABI basic_stringbuf() : __hm_(nullptr), __mode_(ios_base::in | ios_base::out) {
+ // it is implementation-defined whether we initialize eback() & friends to nullptr, and libc++ doesn't
+ __init_buf_ptrs();
+ }
- _LIBCPP_HIDE_FROM_ABI explicit basic_stringbuf(ios_base::openmode __wch) : __hm_(nullptr), __mode_(__wch) {}
+ _LIBCPP_HIDE_FROM_ABI explicit basic_stringbuf(ios_base::openmode __wch) : __hm_(nullptr), __mode_(__wch) {
+ // it is implementation-defined whether we initialize eback() & friends to nullptr, and libc++ doesn't
+ __init_buf_ptrs();
+ }
_LIBCPP_HIDE_FROM_ABI explicit basic_stringbuf(const string_type& __s,
ios_base::openmode __wch = ios_base::in | ios_base::out)
diff --git a/libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp b/libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
index 2b6c3802a56b6..d6caa3389b8fa 100644
--- a/libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
+++ b/libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
@@ -8,8 +8,6 @@
// <sstream>
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
// How the constructors of basic_stringbuf initialize the buffer pointers is
// not specified. For some constructors it's implementation defined whether the
// pointers are set to nullptr. Libc++'s implementation directly uses the SSO
diff --git a/libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp b/libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
index dac43967d815f..d131f5c9a6fa7 100644
--- a/libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
@@ -15,8 +15,6 @@
// basic_stringbuf() : basic_stringbuf(ios_base::in | ios_base::out) {} // C++20
// explicit basic_stringbuf(ios_base::openmode which); // C++20
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
#include <sstream>
#include <cassert>
More information about the libcxx-commits
mailing list