aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-01-08 11:46:56 +0000
committerJonathan Wakely <jwakely@redhat.com>2024-01-08 16:04:59 +0000
commiteb846114ed7c49e426fccb826a3f81b7abbc84be (patch)
treeb04f4b3fb2bb3d600f40d6fc4fb03b4ec6651df7
parent97a52f69d209f69e755ffad6897c7176da9ac686 (diff)
downloadgcc-eb846114ed7c49e426fccb826a3f81b7abbc84be.zip
gcc-eb846114ed7c49e426fccb826a3f81b7abbc84be.tar.gz
gcc-eb846114ed7c49e426fccb826a3f81b7abbc84be.tar.bz2
libstdc++: Remove std::__unicode::__null_sentinel
The name __null_sentinel is defined as a macro by newlib, so we can't use it as an identifier. That variable is not actually used by libstdc++, it was added because P2728R6 proposes std::uc::null_sentinel. Since we don't need it and it breaks bootstrap for newlib targets, just remove it. A null sentinel can still be used by constructing a _Null_sentinel_t object as needed, rather than having a named object of that type predefined. libstdc++-v3/ChangeLog: * include/bits/unicode.h (__null_sentinel): Remove. * testsuite/17_intro/names.cc: Add __null_sentinel.
-rw-r--r--libstdc++-v3/include/bits/unicode.h2
-rw-r--r--libstdc++-v3/testsuite/17_intro/names.cc1
2 files changed, 1 insertions, 2 deletions
diff --git a/libstdc++-v3/include/bits/unicode.h b/libstdc++-v3/include/bits/unicode.h
index 66f8399..e49498a 100644
--- a/libstdc++-v3/include/bits/unicode.h
+++ b/libstdc++-v3/include/bits/unicode.h
@@ -83,8 +83,6 @@ namespace __unicode
{ return *__it == iter_value_t<_It>{}; }
};
- inline constexpr _Null_sentinel_t __null_sentinel;
-
template<typename _FromFmt, typename _ToFmt,
input_iterator _Iter, sentinel_for<_Iter> _Sent = _Iter,
typename _ErrorHandler = _Repl>
diff --git a/libstdc++-v3/testsuite/17_intro/names.cc b/libstdc++-v3/testsuite/17_intro/names.cc
index 5e77e9f..53c5aff 100644
--- a/libstdc++-v3/testsuite/17_intro/names.cc
+++ b/libstdc++-v3/testsuite/17_intro/names.cc
@@ -140,6 +140,7 @@
// These clash with newlib so don't use them.
# define __lockable cannot be used as an identifier
+# define __null_sentinel cannot be used as an identifier
# define __packed cannot be used as an identifier
# define __unused cannot be used as an identifier
# define __used cannot be used as an identifier