libstdc++: Fix <bit> to work freestanding [PR 100060]

libstdc++-v3/ChangeLog:

	PR libstdc++/100060
	* include/std/bit: Only include <ext/numeric_traits.h> for
	hosted build, use <limits> otherwise.
This commit is contained in:
Jonathan Wakely 2021-04-13 16:55:37 +01:00
parent 8913b2c2bc
commit 474cb5a0a4

View File

@ -34,7 +34,23 @@
#if __cplusplus >= 201402L
#include <type_traits>
#include <ext/numeric_traits.h>
#if _GLIBCXX_HOSTED
# include <ext/numeric_traits.h>
#else
# include <limits>
/// @cond undocumented
namespace __gnu_cxx
{
template<typename _Tp>
struct __int_traits
{
static constexpr int __digits = std::numeric_limits<_Tp>::digits;
static constexpr _Tp __max = std::numeric_limits<_Tp>::max();
};
}
/// @endcond
#endif
namespace std _GLIBCXX_VISIBILITY(default)
{