diff options
| author | 3gg <3gg@shellblade.net> | 2025-06-29 11:12:56 -0700 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-06-29 11:12:56 -0700 |
| commit | 8d116c7a402ca413fd12e64406ef27da8f5e6526 (patch) | |
| tree | 8671e09a20f2eb50c73d07df770f4b13b994a976 | |
| parent | e635d8c15c61f19c053b48e93298df9d797dabdd (diff) | |
Fix some warnings in Release
| -rw-r--r-- | src/scene/scene_graph.h | 42 | ||||
| -rw-r--r-- | src/scene/scene_memory.c | 9 |
2 files changed, 29 insertions, 22 deletions
diff --git a/src/scene/scene_graph.h b/src/scene/scene_graph.h index a26f828..0b1f7d0 100644 --- a/src/scene/scene_graph.h +++ b/src/scene/scene_graph.h | |||
| @@ -6,35 +6,41 @@ | |||
| 6 | // NOTE: SceneMemory guarantees that index 0 can be regarded as an invalid | 6 | // NOTE: SceneMemory guarantees that index 0 can be regarded as an invalid |
| 7 | // index. | 7 | // index. |
| 8 | 8 | ||
| 9 | #define MEM_GET(INDEX) \ | 9 | #define MEM_GET(INDEX) \ |
| 10 | _Generic((INDEX), camera_idx \ | 10 | _Generic( \ |
| 11 | : mem_get_camera, material_idx \ | 11 | (INDEX), \ |
| 12 | : mem_get_material, mesh_idx \ | 12 | camera_idx: mem_get_camera, \ |
| 13 | : mem_get_mesh, mesh_link_idx \ | 13 | material_idx: mem_get_material, \ |
| 14 | : mem_get_mesh_link, node_idx \ | 14 | mesh_idx: mem_get_mesh, \ |
| 15 | : mem_get_node, object_idx \ | 15 | mesh_link_idx: mem_get_mesh_link, \ |
| 16 | : mem_get_object, scene_idx \ | 16 | node_idx: mem_get_node, \ |
| 17 | : mem_get_scene)(INDEX) | 17 | object_idx: mem_get_object, \ |
| 18 | scene_idx: mem_get_scene)(INDEX) | ||
| 18 | 19 | ||
| 19 | #define MEM_GET_INDEX(ITEM) \ | 20 | #define MEM_GET_INDEX(ITEM) \ |
| 20 | _Generic((ITEM), SceneCamera * \ | 21 | _Generic( \ |
| 21 | : mem_get_camera_index, Material * \ | 22 | (ITEM), \ |
| 22 | : mem_get_material_index, Mesh * \ | 23 | SceneCamera *: mem_get_camera_index, \ |
| 23 | : mem_get_mesh_index, MeshLink * \ | 24 | Material *: mem_get_material_index, \ |
| 24 | : mem_get_mesh_link_index, SceneNode * \ | 25 | Mesh *: mem_get_mesh_index, \ |
| 25 | : mem_get_node_index, SceneObject * \ | 26 | MeshLink *: mem_get_mesh_link_index, \ |
| 26 | : mem_get_object_index, Scene * \ | 27 | SceneNode *: mem_get_node_index, \ |
| 27 | : mem_get_scene_index)(ITEM) | 28 | SceneObject *: mem_get_object_index, \ |
| 29 | Scene *: mem_get_scene_index)(ITEM) | ||
| 28 | 30 | ||
| 29 | /// Assert the list node invariant. | 31 | /// Assert the list node invariant. |
| 30 | /// | 32 | /// |
| 31 | /// - A node does not point to itself. | 33 | /// - A node does not point to itself. |
| 34 | #if NDEBUG | ||
| 35 | #define ASSERT_LIST_NODE_INVARIANT(ITEM) | ||
| 36 | #else | ||
| 32 | #define ASSERT_LIST_NODE_INVARIANT(ITEM) \ | 37 | #define ASSERT_LIST_NODE_INVARIANT(ITEM) \ |
| 33 | { \ | 38 | { \ |
| 34 | const gfx_idx item_idx = MEM_GET_INDEX(ITEM).val; \ | 39 | const gfx_idx item_idx = MEM_GET_INDEX(ITEM).val; \ |
| 35 | assert((ITEM)->prev.val != item_idx); \ | 40 | assert((ITEM)->prev.val != item_idx); \ |
| 36 | assert((ITEM)->next.val != item_idx); \ | 41 | assert((ITEM)->next.val != item_idx); \ |
| 37 | } | 42 | } |
| 43 | #endif | ||
| 38 | 44 | ||
| 39 | /// Assert the tree node invariant. | 45 | /// Assert the tree node invariant. |
| 40 | /// | 46 | /// |
diff --git a/src/scene/scene_memory.c b/src/scene/scene_memory.c index 4d7020a..d1d81a9 100644 --- a/src/scene/scene_memory.c +++ b/src/scene/scene_memory.c | |||
| @@ -48,10 +48,11 @@ typedef struct SceneMemory { | |||
| 48 | 48 | ||
| 49 | static SceneMemory mem; | 49 | static SceneMemory mem; |
| 50 | 50 | ||
| 51 | #define ALLOC_DUMMY(POOL) \ | 51 | #define ALLOC_DUMMY(POOL) \ |
| 52 | { \ | 52 | { \ |
| 53 | const void* object = mempool_alloc(POOL); \ | 53 | const void* object = mempool_alloc(POOL); \ |
| 54 | assert(mempool_get_block_index(POOL, object) == 0); \ | 54 | (void)object; /* Silence warning in release builds. */ \ |
| 55 | assert(mempool_get_block_index(POOL, object) == 0); \ | ||
| 55 | } | 56 | } |
| 56 | 57 | ||
| 57 | #define PLURAL(name) name##s | 58 | #define PLURAL(name) name##s |
