From: Brendan Hansen Date: Wed, 17 Nov 2021 04:49:35 +0000 (-0600) Subject: making vs happy X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=3f88fda636605a81d860ddb1778fb974225210fe;p=heartbreak.git making vs happy --- diff --git a/include/bh.h b/include/bh.h index a3a56f1..f9c9d4f 100644 --- a/include/bh.h +++ b/include/bh.h @@ -2215,7 +2215,7 @@ add_new_element: strncpy(arrptr, key, key_length); found_matching: - return bh_pointer_add(arrptr, -(sizeof(u16) + elemsize)); + return bh_pointer_add(arrptr, -(i32)(sizeof(u16) + elemsize)); } b32 bh__table_has(bh__table *table, i32 elemsize, char *key) { @@ -2258,7 +2258,7 @@ ptr bh__table_get(bh__table *table, i32 elemsize, char *key) { key_length = *(u16 *) arrptr; arrptr = bh_pointer_add(arrptr, sizeof(u16)); if (strncmp(key, (char *) arrptr, key_length) == 0) { - return bh_pointer_add(arrptr, -(sizeof(u16) + elemsize)); + return bh_pointer_add(arrptr, -(i32)(sizeof(u16) + elemsize)); } arrptr = bh_pointer_add(arrptr, key_length); } diff --git a/include/gfx.h b/include/gfx.h index abef4ee..7a198a2 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -1,6 +1,7 @@ #ifndef HEARTBREAK_GFX_H #define HEARTBREAK_GFX_H +#define GLFW_DLL #include "bh.h" #include "utils.h" diff --git a/include/heartbreak.h b/include/heartbreak.h index b5b39e5..6ab2641 100644 --- a/include/heartbreak.h +++ b/include/heartbreak.h @@ -1,6 +1,8 @@ #ifndef HEARTBREAK_H #define HEARTBREAK_H +#define GLFW_DLL + #include "bh.h" #include "wasm.h" #include "wasmer.h" @@ -37,14 +39,14 @@ extern ImmediateRenderer renderer; # define INTERNAL_GET_ARG_COUNT_PRIVATE(_0, _1_, _2_, _3_, _4_, _5_, _6_, _7_, _8_, _9_, _10_, _11_, _12_, _13_, _14_, _15_, _16_, _17_, _18_, _19_, _20_, _21_, _22_, _23_, _24_, _25_, _26_, _27_, _28_, _29_, _30_, _31_, _32_, _33_, _34_, _35_, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, count, ...) count #endif -#define _VALS(...) ((WasmValkindBuffer) { GET_ARG_COUNT(__VA_ARGS__), __VA_ARGS__ }) +#define _VALS(...) { GET_ARG_COUNT(__VA_ARGS__), __VA_ARGS__ } -typedef struct { +typedef struct WasmValkindBuffer { u32 count; wasm_valkind_t types[20]; } WasmValkindBuffer; -typedef struct { +typedef struct WasmFuncDefinition { char* name; wasm_func_callback_t func; @@ -63,15 +65,15 @@ typedef struct { #define HEARTBREAK_IMPORT_NAME(m, n) STRINGIFY1(m) "_" #n #define HEARTBREAK_DEF(name, params_types, result_types) \ - wasm_trap_t* HEARTBREAK_FUNC_NAME(HEARTBREAK_MODULE_NAME, name)(const wasm_val_vec_t* params, wasm_val_vec_t* results); \ - static WasmValkindBuffer HEARTBREAK_PARAM_NAME(HEARTBREAK_MODULE_NAME, name) = _VALS params_types; \ - static WasmValkindBuffer HEARTBREAK_RESULT_NAME(HEARTBREAK_MODULE_NAME, name) = _VALS result_types; \ - static WasmFuncDefinition HEARTBREAK_DEF_NAME(HEARTBREAK_MODULE_NAME, name) = (WasmFuncDefinition) { HEARTBREAK_IMPORT_NAME(HEARTBREAK_MODULE_NAME, name), HEARTBREAK_FUNC_NAME(HEARTBREAK_MODULE_NAME, name), & HEARTBREAK_PARAM_NAME(HEARTBREAK_MODULE_NAME, name), & HEARTBREAK_RESULT_NAME(HEARTBREAK_MODULE_NAME, name) }; \ + static wasm_trap_t* HEARTBREAK_FUNC_NAME(HEARTBREAK_MODULE_NAME, name)(const wasm_val_vec_t* params, wasm_val_vec_t* results); \ + static struct WasmValkindBuffer HEARTBREAK_PARAM_NAME(HEARTBREAK_MODULE_NAME, name) = _VALS params_types; \ + static struct WasmValkindBuffer HEARTBREAK_RESULT_NAME(HEARTBREAK_MODULE_NAME, name) = _VALS result_types; \ + static struct WasmFuncDefinition HEARTBREAK_DEF_NAME(HEARTBREAK_MODULE_NAME, name) = { HEARTBREAK_IMPORT_NAME(HEARTBREAK_MODULE_NAME, name), HEARTBREAK_FUNC_NAME(HEARTBREAK_MODULE_NAME, name), & HEARTBREAK_PARAM_NAME(HEARTBREAK_MODULE_NAME, name), & HEARTBREAK_RESULT_NAME(HEARTBREAK_MODULE_NAME, name) }; \ \ - wasm_trap_t* HEARTBREAK_FUNC_NAME(HEARTBREAK_MODULE_NAME, name)(const wasm_val_vec_t* params, wasm_val_vec_t* results) + static wasm_trap_t* HEARTBREAK_FUNC_NAME(HEARTBREAK_MODULE_NAME, name)(const wasm_val_vec_t* params, wasm_val_vec_t* results) #define HEARTBREAK_FUNC(name) & HEARTBREAK_DEF_NAME(HEARTBREAK_MODULE_NAME, name), -#define HEARTBREAK_MODULE WasmFuncDefinition *HEARTBREAK_MODULE_NAME_GEN(HEARTBREAK_MODULE_NAME) [] = +#define HEARTBREAK_MODULE struct WasmFuncDefinition *HEARTBREAK_MODULE_NAME_GEN(HEARTBREAK_MODULE_NAME) [] = // The Heartbreak modules extern WasmFuncDefinition* __heartbreak_module_system[]; diff --git a/src/heartbreak.c b/src/heartbreak.c index a4bdb00..00b2c4d 100644 --- a/src/heartbreak.c +++ b/src/heartbreak.c @@ -1,5 +1,7 @@ #define VERSION "v0.0.1a" +#define GLFW_DLL + #define BH_DEFINE #include "bh.h" #include "utils.h"