From 8d116c7a402ca413fd12e64406ef27da8f5e6526 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sun, 29 Jun 2025 11:12:56 -0700 Subject: Fix some warnings in Release --- src/scene/scene_graph.h | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'src/scene/scene_graph.h') 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 @@ // NOTE: SceneMemory guarantees that index 0 can be regarded as an invalid // index. -#define MEM_GET(INDEX) \ - _Generic((INDEX), camera_idx \ - : mem_get_camera, material_idx \ - : mem_get_material, mesh_idx \ - : mem_get_mesh, mesh_link_idx \ - : mem_get_mesh_link, node_idx \ - : mem_get_node, object_idx \ - : mem_get_object, scene_idx \ - : mem_get_scene)(INDEX) +#define MEM_GET(INDEX) \ + _Generic( \ + (INDEX), \ + camera_idx: mem_get_camera, \ + material_idx: mem_get_material, \ + mesh_idx: mem_get_mesh, \ + mesh_link_idx: mem_get_mesh_link, \ + node_idx: mem_get_node, \ + object_idx: mem_get_object, \ + scene_idx: mem_get_scene)(INDEX) -#define MEM_GET_INDEX(ITEM) \ - _Generic((ITEM), SceneCamera * \ - : mem_get_camera_index, Material * \ - : mem_get_material_index, Mesh * \ - : mem_get_mesh_index, MeshLink * \ - : mem_get_mesh_link_index, SceneNode * \ - : mem_get_node_index, SceneObject * \ - : mem_get_object_index, Scene * \ - : mem_get_scene_index)(ITEM) +#define MEM_GET_INDEX(ITEM) \ + _Generic( \ + (ITEM), \ + SceneCamera *: mem_get_camera_index, \ + Material *: mem_get_material_index, \ + Mesh *: mem_get_mesh_index, \ + MeshLink *: mem_get_mesh_link_index, \ + SceneNode *: mem_get_node_index, \ + SceneObject *: mem_get_object_index, \ + Scene *: mem_get_scene_index)(ITEM) /// Assert the list node invariant. /// /// - A node does not point to itself. +#if NDEBUG +#define ASSERT_LIST_NODE_INVARIANT(ITEM) +#else #define ASSERT_LIST_NODE_INVARIANT(ITEM) \ { \ const gfx_idx item_idx = MEM_GET_INDEX(ITEM).val; \ assert((ITEM)->prev.val != item_idx); \ assert((ITEM)->next.val != item_idx); \ } +#endif /// Assert the tree node invariant. /// -- cgit v1.2.3