summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/al/types.h34
-rw-r--r--src/lib.c7
2 files changed, 15 insertions, 26 deletions
diff --git a/include/al/types.h b/include/al/types.h
index c164127..3a04539 100644
--- a/include/al/types.h
+++ b/include/al/types.h
@@ -17,40 +17,22 @@
#define _XOPEN_SOURCE 500
#endif
-#if _WIN32 || _WIN64
-#if _WIN64
-#define PTR_IS_64
-#else
-#define PTR_IS_32
-#endif
-#elif __GNUC__
-#if __x86_64__ || __ppc64__
-#define PTR_IS_64
-#else
-#define PTR_IS_32
-#endif
-#elif UINTPTR_MAX > UINT_MAX
-#define PTR_IS_64
-#else
-#define PTR_IS_32
-#endif
-
-#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
-#include <sys/types.h>
+#include <stdint.h>
#include <float.h>
+#include <sys/types.h>
-typedef uint8_t u8;
-typedef int8_t s8;
+typedef int8_t s8;
+typedef uint8_t u8;
+typedef int16_t s16;
typedef uint16_t u16;
-typedef int16_t s16;
+typedef int32_t s32;
typedef uint32_t u32;
-typedef int32_t s32;
+typedef int64_t s64;
typedef uint64_t u64;
-typedef int64_t s64;
-typedef float f32;
+typedef float f32;
typedef double f64;
#ifdef _MSC_VER
diff --git a/src/lib.c b/src/lib.c
index 063da23..0033463 100644
--- a/src/lib.c
+++ b/src/lib.c
@@ -1,5 +1,12 @@
#include "../include/al/lib.h"
+// https://forum.vcfed.org/index.php?threads/c-item-size-check-at-compile-time.1244920/
+#define AL_ASSERT_TYPE_SIZE(type, size) \
+ typedef char type##__size_test[( !!(sizeof(type) == size) )*2-1]
+
+AL_ASSERT_TYPE_SIZE(int, 4);
+AL_ASSERT_TYPE_SIZE(unsigned, 4);
+
#if AL_USE_STDLIB
static void *(*_al_malloc)(size_t) = malloc;
static void *(*_al_calloc)(size_t, size_t) = calloc;