From 8e68043a8c1ae877e2f0cee2ece338b1cde71c01 Mon Sep 17 00:00:00 2001 From: Raymaekers Luca Date: Thu, 13 Nov 2025 19:22:29 +0100 Subject: checkpoint --- lr_macros.h | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'lr_macros.h') diff --git a/lr_macros.h b/lr_macros.h index a503ad5..836ee52 100644 --- a/lr_macros.h +++ b/lr_macros.h @@ -1,19 +1,9 @@ #ifndef LR_MACROS_H #define LR_MACROS_H -// Zero -#if !defined(COMPILER_MSVC) -#define COMPILER_MSVC 0 -#endif -#if !defined(COMPILER_LLVM) -#define COMPILER_LLVM 0 -#endif -#if !defined(COMPILER_GNU) -#define COMPILER_GNU 0 -#endif - // Detect compiler #if __clang__ + # define COMPILER_CLANG 1 #elif _MSC_VER # define COMPILER_MSVC 1 @@ -21,23 +11,34 @@ # define COMPILER_GNU 1 #endif +// Zero undefined +#if !defined(COMPILER_MSVC) +# define COMPILER_MSVC 0 +#endif +#if !defined(COMPILER_LLVM) +# define COMPILER_LLVM 0 +#endif +#if !defined(COMPILER_GNU) +# define COMPILER_GNU 0 +#endif + // Push/Pop warnings -#if defined(COMPILER_GNU) +#if COMPILER_GNU # define PUSH_WARNINGS \ _Pragma("GCC diagnostic push") \ -_Pragma("GCC diagnostic ignored \"-Weverything\"") -# define POP_WARNINGS \ -_Pragma("GCC diagnostic pop") -#elif defined(COMPILER_CLANG) +_Pragma("GCC diagnostic ignored \"-Wall\"") \ +_Pragma("GCC diagnostic ignored \"-Wextra\"") \ +_Pragma("GCC diagnostic ignored \"-Wconversion\"") +# define POP_WARNINGS _Pragma("GCC diagnostic pop") + +#elif COMPILER_CLANG # define PUSH_WARNINGS \ _Pragma("clang diagnostic push") \ _Pragma("clang diagnostic ignored \"-Weverything\"") -# define POP_WARNINGS \ -_Pragma("clang diagnostic pop") +# define POP_WARNINGS _Pragma("clang diagnostic pop") + #else -# define PUSH_WARNINGS \ -_Pragma("message \"No compatible compiler found\"") -# define POP_WARNINGS +# error "No compatible compiler found" #endif #define ArrayCount(Array) (sizeof(Array) / sizeof((Array)[0])) @@ -46,7 +47,7 @@ _Pragma("message \"No compatible compiler found\"") #define DebugBreakOnce do { local_persist b32 X = false; Assert(X); X = true; } while(0) #define NullExpression { int X = 0; } -#define Min(A, B) (((A) < (B)) ? (A) : (B)) -#define Max(A, B) (((A) > (B)) ? (A) : (B)) +#define Minimum(A, B) (((A) < (B)) ? (A) : (B)) +#define Maximum(A, B) (((A) > (B)) ? (A) : (B)) #endif // LR_MACROS_H \ No newline at end of file -- cgit v1.2.3-70-g09d2