From e6710f5ad898b54a4ae74d57858ba1287f0ef8bf Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Sun, 6 Oct 2024 13:32:00 -0400 Subject: lib: Cleanup types and assert sizeof(int) = 4 Signed-off-by: Andrew Opalach --- include/al/types.h | 34 ++++++++-------------------------- src/lib.c | 7 +++++++ 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 #include #include -#include +#include #include +#include -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; -- cgit v1.2.3-101-g0448