aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/include/cstdint
diff options
context:
space:
mode:
authorspicyjpeg <thatspicyjpeg@gmail.com>2023-05-11 19:11:35 +0200
committerspicyjpeg <thatspicyjpeg@gmail.com>2023-05-11 19:11:35 +0200
commit3b696fc431a9c3f2aa7ea4f27aec20ce5dd67859 (patch)
tree3cf2dc24f38ad1b532f0ec913c3604d334e79872 /libpsn00b/include/cstdint
parentca6b54f3c15a7b00a5ede64ba452f2955a421a1e (diff)
downloadpsn00bsdk-3b696fc431a9c3f2aa7ea4f27aec20ce5dd67859.tar.gz
Add C++ standard library headers, update beginner/cppdemo
Diffstat (limited to 'libpsn00b/include/cstdint')
-rw-r--r--libpsn00b/include/cstdint34
1 files changed, 34 insertions, 0 deletions
diff --git a/libpsn00b/include/cstdint b/libpsn00b/include/cstdint
new file mode 100644
index 0000000..3b1bc4a
--- /dev/null
+++ b/libpsn00b/include/cstdint
@@ -0,0 +1,34 @@
+/*
+ * PSn00bSDK standard library
+ * (C) 2019-2023 Lameguy64, spicyjpeg - MPL licensed
+ *
+ * This is a replacement for the <cstdint> header included with GCC, which seems
+ * to be broken (at least in GCC 12.2.0) as it requires some macros to be set.
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+namespace std {
+
+#define _DEF_TYPE(bits, prefix) \
+ using ::prefix##bits##_t; \
+ using ::prefix##_fast##bits##_t; \
+ using ::prefix##_least##bits##_t;
+
+_DEF_TYPE( 8, int)
+_DEF_TYPE( 8, uint)
+_DEF_TYPE(16, int)
+_DEF_TYPE(16, uint)
+_DEF_TYPE(32, int)
+_DEF_TYPE(32, uint)
+
+#undef _DEF_TYPE
+
+using ::intmax_t;
+using ::uintmax_t;
+using ::intptr_t;
+using ::uintptr_t;
+
+}