[libcxx-commits] [libcxx] 93bca34 - [libc++][C++03] Cherry-pick #147007 (#198991)
via libcxx-commits
libcxx-commits at lists.llvm.org
Sun May 24 06:27:09 PDT 2026
Author: Nikolas Klauser
Date: 2026-05-24T15:27:02+02:00
New Revision: 93bca34673694ae917af72e665f7626d5aef2f0e
URL: https://github.com/llvm/llvm-project/commit/93bca34673694ae917af72e665f7626d5aef2f0e
DIFF: https://github.com/llvm/llvm-project/commit/93bca34673694ae917af72e665f7626d5aef2f0e.diff
LOG: [libc++][C++03] Cherry-pick #147007 (#198991)
Added:
Modified:
libcxx/include/__cxx03/istream
libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
Removed:
################################################################################
diff --git a/libcxx/include/__cxx03/istream b/libcxx/include/__cxx03/istream
index 9e2eadc60b400..6f01046270c1b 100644
--- a/libcxx/include/__cxx03/istream
+++ b/libcxx/include/__cxx03/istream
@@ -70,6 +70,7 @@ public:
basic_istream& getline(char_type* s, streamsize n, char_type delim);
basic_istream& ignore(streamsize n = 1, int_type delim = traits_type::eof());
+ basic_istream& ignore(streamsize n, char_type delim); // Since C++26, implemented as a DR
int_type peek();
basic_istream& read (char_type* s, streamsize n);
streamsize readsome(char_type* s, streamsize n);
@@ -165,6 +166,7 @@ template <class Stream, class T>
#include <__cxx03/__type_traits/conjunction.h>
#include <__cxx03/__type_traits/enable_if.h>
#include <__cxx03/__type_traits/is_base_of.h>
+#include <__cxx03/__type_traits/is_same.h>
#include <__cxx03/__utility/declval.h>
#include <__cxx03/__utility/forward.h>
#include <__cxx03/bitset>
@@ -284,6 +286,10 @@ public:
basic_istream& getline(char_type* __s, streamsize __n, char_type __dlm);
basic_istream& ignore(streamsize __n = 1, int_type __dlm = traits_type::eof());
+ template <class _Tp = char_type, __enable_if_t<is_same<_Tp, char>::value, int> = 0>
+ _LIBCPP_HIDE_FROM_ABI basic_istream& ignore(streamsize __n, char_type __delim) {
+ return ignore(__n, traits_type::to_int_type(__delim));
+ }
int_type peek();
basic_istream& read(char_type* __s, streamsize __n);
streamsize readsome(char_type* __s, streamsize __n);
diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
index 251af1d2327f3..0bf9851790953 100644
--- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
+++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
@@ -6,8 +6,6 @@
//
//===----------------------------------------------------------------------===//
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
// <istream>
// basic_istream& ignore(streamsize n, char_type delim);
More information about the libcxx-commits
mailing list