From f36e144bc0fed66470aff0612098dba29c552604 Mon Sep 17 00:00:00 2001 From: Martin Fouilleul Date: Mon, 17 Apr 2023 10:55:19 +0200 Subject: [PATCH] start integrating milepost components to orca --- src/osx_app.m | 1 + src/platform/platform.h | 4 ++++ src/util/debug_log.h | 21 +++------------------ src/util/lists.h | 7 +++---- src/util/macro_helpers.h | 27 ++++++++++++++++++++++++++- src/util/strings.c | 8 +------- src/util/strings.h | 2 +- 7 files changed, 39 insertions(+), 31 deletions(-) diff --git a/src/osx_app.m b/src/osx_app.m index 232d42e..ac8a5ca 100644 --- a/src/osx_app.m +++ b/src/osx_app.m @@ -16,6 +16,7 @@ #include"ringbuffer.h" #include"memory.h" #include"macro_helpers.h" +#include"debug_log.h" #include"platform_clock.h" #include"graphics_internal.h" diff --git a/src/platform/platform.h b/src/platform/platform.h index 8b7585d..7ece8c9 100644 --- a/src/platform/platform.h +++ b/src/platform/platform.h @@ -40,6 +40,8 @@ #define OS_MACOS 1 #elif defined(__gnu_linux__) #define OS_LINUX 1 +#elif defined(__ORCA__) + #define OS_ORCA 1 #else #error "Can't identify OS" #endif @@ -68,6 +70,8 @@ #define ARCH_ARM32 1 #elif defined(__aarch64__) #define ARCH_ARM64 1 + #elif defined(__ORCA__) + #define ARCH_WASM 1 #else #error "Can't identify architecture" #endif diff --git a/src/util/debug_log.h b/src/util/debug_log.h index 7443769..bc9ef2a 100644 --- a/src/util/debug_log.h +++ b/src/util/debug_log.h @@ -33,9 +33,9 @@ extern "C" { typedef enum { LOG_LEVEL_ERROR, LOG_LEVEL_WARNING, - LOG_LEVEL_MESSAGE, - LOG_LEVEL_DEBUG, - LOG_LEVEL_COUNT } log_level; + LOG_LEVEL_MESSAGE, + LOG_LEVEL_DEBUG, + LOG_LEVEL_COUNT } log_level; MP_API void LogGeneric(log_level level, const char* subsystem, @@ -76,21 +76,6 @@ MP_API void LogFilter(const char* subsystem, log_level level); #define LOG_DEBUG(msg, ...) #endif -#ifndef NO_ASSERT - #include - #define _ASSERT_(x, msg) assert(x && msg) - #define ASSERT(x, ...) _ASSERT_(x, #__VA_ARGS__) - - #ifdef DEBUG - #define DEBUG_ASSERT(x, ...) ASSERT(x, ##__VA_ARGS__ ) - #else - #define DEBUG_ASSERT(x, ...) - #endif -#else - #define ASSERT(x, ...) - #define DEBUG_ASSERT(x, ...) -#endif - #ifdef __cplusplus } // extern "C" #endif diff --git a/src/util/lists.h b/src/util/lists.h index ca230bf..451a95e 100644 --- a/src/util/lists.h +++ b/src/util/lists.h @@ -3,14 +3,13 @@ * @file: lists.h * @author: Martin Fouilleul * @date: 22/11/2017 -* @revision: 28/04/2019 : deleted containers which are not used by BLITz * @brief: Implements generic intrusive linked list and dynamic array * ****************************************************************/ #ifndef __CONTAINERS_H_ #define __CONTAINERS_H_ -#include"debug_log.h" +#include"macro_helpers.h" #ifdef __cplusplus extern "C" { @@ -116,7 +115,7 @@ static inline void list_insert(list_info* list, list_elt* afterElt, list_elt* el } afterElt->next = elt; - ASSERT(elt->next != elt, "list_insert(): can't insert an element into itself"); + DEBUG_ASSERT(elt->next != elt, "list_insert(): can't insert an element into itself"); } static inline void list_insert_before(list_info* list, list_elt* beforeElt, list_elt* elt) @@ -134,7 +133,7 @@ static inline void list_insert_before(list_info* list, list_elt* beforeElt, list } beforeElt->prev = elt; - ASSERT(elt->next != elt, "list_insert_before(): can't insert an element into itself"); + DEBUG_ASSERT(elt->next != elt, "list_insert_before(): can't insert an element into itself"); } static inline void list_remove(list_info* list, list_elt* elt) diff --git a/src/util/macro_helpers.h b/src/util/macro_helpers.h index d076d30..e7f5cfd 100644 --- a/src/util/macro_helpers.h +++ b/src/util/macro_helpers.h @@ -9,7 +9,8 @@ #ifndef __MACRO_HELPERS_H_ #define __MACRO_HELPERS_H_ -#include"typedefs.h" +#include"util/typedefs.h" +#include"platform/platform.h" //NOTE(martin): macro concatenation #define _cat2_(a, b) a##b @@ -124,4 +125,28 @@ static inline u64 next_pow2_u64(u64 x) #define defer_loop(begin, end) begin; for(int __i__=0; __i__<1; __i__++, end) +//NOTE: assert macros + +#ifndef NO_ASSERT + #ifdef OS_ORCA + //TODO add a runtime-provided assert + #define _ASSERT_(x, msg) + #else + #include + #define _ASSERT_(x, msg) assert(x && msg) + #endif + + #define ASSERT(x, ...) _ASSERT_(x, #__VA_ARGS__) + + #ifdef DEBUG + #define DEBUG_ASSERT(x, ...) ASSERT(x, ##__VA_ARGS__ ) + #else + #define DEBUG_ASSERT(x, ...) + #endif +#else + #define ASSERT(x, ...) + #define DEBUG_ASSERT(x, ...) +#endif + + #endif //__MACRO_HELPERS_H_ diff --git a/src/util/strings.c b/src/util/strings.c index 915f1f6..1702f1d 100644 --- a/src/util/strings.c +++ b/src/util/strings.c @@ -8,11 +8,9 @@ *****************************************************************/ #include // strlen(), strcpy(), etc. #include // va_list() etc. -#include"debug_log.h" +#include"macro_helpers.h" #include"strings.h" -#define LOG_SUBSYSTEM "Strings" - //---------------------------------------------------------------------------------- // string slices as values //---------------------------------------------------------------------------------- @@ -345,7 +343,3 @@ str8 mp_path_base_name(str8 fullPath) str8 basename = str8_slice(fullPath, lastSlashIndex+1, fullPath.len); return(basename); } - - - -#undef LOG_SUBSYSTEM diff --git a/src/util/strings.h b/src/util/strings.h index 42a4730..31ef4ec 100644 --- a/src/util/strings.h +++ b/src/util/strings.h @@ -9,7 +9,7 @@ #ifndef __STRINGS_H_ #define __STRINGS_H_ -#include +#include // strlen #include"typedefs.h" #include"lists.h" #include"memory.h"