diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2024-01-08 11:46:56 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2024-01-08 16:04:59 +0000 |
commit | eb846114ed7c49e426fccb826a3f81b7abbc84be (patch) | |
tree | b04f4b3fb2bb3d600f40d6fc4fb03b4ec6651df7 | |
parent | 97a52f69d209f69e755ffad6897c7176da9ac686 (diff) | |
download | gcc-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.h | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/17_intro/names.cc | 1 |
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 |