libstdc++-v3/ChangeLog:
* src/c++23/std.compat.cc.in: Only export <stdbit.h> and
<stdckdint.h> contents for C++26 and later.
---
Tested by compiling and importing both std and std.compat.
libstdc++-v3/src/c++23/std.compat.cc.in | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/libstdc++-v3/src/c++23/std.compat.cc.in
b/libstdc++-v3/src/c++23/std.compat.cc.in
index ba7ed0312ab..344502195b1 100644
--- a/libstdc++-v3/src/c++23/std.compat.cc.in
+++ b/libstdc++-v3/src/c++23/std.compat.cc.in
@@ -21,11 +21,15 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+module;
+
+#include <stdbit.h>
+#include <stdckdint.h>
+
export module std.compat;
export import std;
-#include <stdbit.h>
-
+#ifdef __STDC_VERSION_STDBIT_H__
// <stdbit.h>
export
{
@@ -52,7 +56,9 @@ _GLIBCXX_STDBIT_FUNC(stdc_bit_floor);
_GLIBCXX_STDBIT_FUNC(stdc_bit_ceil);
#undef _GLIBCXX_STDBIT_FUNC
}
+#endif
+#ifdef __STDC_VERSION_STDCKDINT_H__
// <stdckdint.h>
export
{
@@ -60,6 +66,7 @@ export
using __gnu_cxx::ckd_sub;
using __gnu_cxx::ckd_mul;
}
+#endif
#define STD_COMPAT 1
--
2.49.0