making vs happy
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 17 Nov 2021 04:49:35 +0000 (22:49 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 17 Nov 2021 04:49:35 +0000 (22:49 -0600)
include/bh.h
include/gfx.h
include/heartbreak.h
src/heartbreak.c

index a3a56f19ce10a1b8a2d394caff74b61395dcb02e..f9c9d4f91b06c5a1dcbeacc0463489a74eb1e60a 100644 (file)
@@ -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);
     }
index abef4ee5266bd4e89640fb0a8427b13a6b6d73d5..7a198a2af36bb29a5938a5a1147eef61ee64b562 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef HEARTBREAK_GFX_H
 #define HEARTBREAK_GFX_H
 
+#define GLFW_DLL
 
 #include "bh.h"
 #include "utils.h"
index b5b39e590f7c8a57f6e015e6c05b7841470c0180..6ab264107cf51a8ed8db6dc52b3da5bf46310113 100644 (file)
@@ -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[];
index a4bdb00c9e81e112853a56fc9ce56bb050974f49..00b2c4d5551964d3e441932c42e397c31648d63e 100644 (file)
@@ -1,5 +1,7 @@
 #define VERSION "v0.0.1a"
 
+#define GLFW_DLL
+
 #define BH_DEFINE
 #include "bh.h"
 #include "utils.h"