]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix <bit> to work freestanding [PR 100060]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 13 Apr 2021 15:55:37 +0000 (16:55 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 13 Apr 2021 16:54:03 +0000 (17:54 +0100)
libstdc++-v3/ChangeLog:

PR libstdc++/100060
* include/std/bit: Only include <ext/numeric_traits.h> for
hosted build, use <limits> otherwise.

libstdc++-v3/include/std/bit

index fb78578448c0f8450bb4998e099f28be62a10ed0..c5aae8bab03e24ed8e8c8882dd575f69c947df70 100644 (file)
 #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)
 {