libstdc++: Remove std::__unicode::__null_sentinel
commiteb846114ed7c49e426fccb826a3f81b7abbc84be
authorJonathan Wakely <jwakely@redhat.com>
Mon, 8 Jan 2024 11:46:56 +0000 (8 11:46 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Mon, 8 Jan 2024 16:04:59 +0000 (8 16:04 +0000)
treeb04f4b3fb2bb3d600f40d6fc4fb03b4ec6651df7
parent97a52f69d209f69e755ffad6897c7176da9ac686
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.
libstdc++-v3/include/bits/unicode.h
libstdc++-v3/testsuite/17_intro/names.cc