../src/flecs/distr/flecs.c:1452:32: error: expected unqualified-id before ‘;’ token 1452 | ecs_query_and_ctx_t and; | ^ ../src/flecs/distr/flecs.c:1485:28: error: expected unqualified-id before ‘;’ token 1485 | ecs_query_and_ctx_t and; | ^ ../src/flecs/distr/flecs.c:1533:28: error: expected unqualified-id before ‘;’ token 1533 | ecs_query_and_ctx_t and; | ^ ../src/flecs/distr/flecs.c:1558:32: error: expected unqualified-id before ‘;’ token 1558 | ecs_query_and_ctx_t and; | ^ ../src/flecs/distr/flecs.c: In function ‘void flecs_register_trait(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:3601:35: error: invalid conversion from ‘void*’ to ‘ecs_on_trait_ctx_t*’ [-fpermissive] 3601 | ecs_on_trait_ctx_t *ctx = it->ctx; | ~~~~^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_register_trait_pair(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:3608:35: error: invalid conversion from ‘void*’ to ‘ecs_on_trait_ctx_t*’ [-fpermissive] 3608 | ecs_on_trait_ctx_t *ctx = it->ctx; | ~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_register_symmetric(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:3665:41: error: taking address of rvalue [-fpermissive] 3665 | .entity = ecs_entity(world, { .parent = r }), | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:53: note: in definition of macro ‘ecs_observer’ 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:3665:23: note: in expansion of macro ‘ecs_entity’ 3665 | .entity = ecs_entity(world, { .parent = r }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:3664:9: note: in expansion of macro ‘ecs_observer’ 3664 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_bootstrap_builtin(ecs_world_t*, ecs_table_t*, ecs_entity_t, const char*, ecs_size_t, ecs_size_t)’: ../src/flecs/distr/flecs.c:3802:42: error: invalid conversion from ‘void*’ to ‘EcsComponent*’ [-fpermissive] 3802 | EcsComponent *component = columns[0].data; | ~~~~~~~~~~~^~~~ | | | void* ../src/flecs/distr/flecs.c:3810:42: error: invalid conversion from ‘void*’ to ‘EcsIdentifier*’ [-fpermissive] 3810 | EcsIdentifier *name_col = columns[1].data; | ~~~~~~~~~~~^~~~ | | | void* ../src/flecs/distr/flecs.c:3820:44: error: invalid conversion from ‘void*’ to ‘EcsIdentifier*’ [-fpermissive] 3820 | EcsIdentifier *symbol_col = columns[2].data; | ~~~~~~~~~~~^~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_table_t* flecs_bootstrap_component_table(ecs_world_t*)’: ../src/flecs/distr/flecs.c:3902:40: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 3902 | result->data.entities = v_entities.array; | ~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_bootstrap(ecs_world_t*)’: ../src/flecs/distr/flecs.c:3968:47: error: taking address of rvalue [-fpermissive] 3968 | flecs_type_info_init(world, EcsComponent, { | ^ 3969 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3970 | .on_set = flecs_on_component, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3971 | .on_remove = flecs_on_component | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3972 | }); | ~ ../src/flecs/distr/flecs.c:2849:28: note: in definition of macro ‘flecs_type_info_init’ 2849 | &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:3974:48: error: taking address of rvalue [-fpermissive] 3974 | flecs_type_info_init(world, EcsIdentifier, { | ^ 3975 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3976 | .dtor = ecs_dtor(EcsIdentifier), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3977 | .copy = ecs_copy(EcsIdentifier), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3978 | .move = ecs_move(EcsIdentifier), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3979 | .on_set = ecs_on_set(EcsIdentifier), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3980 | .on_remove = ecs_on_set(EcsIdentifier) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3981 | }); | ~ ../src/flecs/distr/flecs.c:2849:28: note: in definition of macro ‘flecs_type_info_init’ 2849 | &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:3988:5: error: designator order for field ‘ecs_type_hooks_t::dtor’ does not match declaration order in ‘ecs_type_hooks_t’ 3988 | }); | ^ ../src/flecs/distr/flecs.c:2849:28: note: in definition of macro ‘flecs_type_info_init’ 2849 | &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:3983:42: error: taking address of rvalue [-fpermissive] 3983 | flecs_type_info_init(world, EcsPoly, { | ^ 3984 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3985 | .copy = ecs_copy(EcsPoly), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 3986 | .move = ecs_move(EcsPoly), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 3987 | .dtor = ecs_dtor(EcsPoly) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 3988 | }); | ~ ../src/flecs/distr/flecs.c:2849:28: note: in definition of macro ‘flecs_type_info_init’ 2849 | &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:3990:59: error: taking address of rvalue [-fpermissive] 3990 | flecs_type_info_init(world, EcsDefaultChildComponent, { | ^ 3991 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3992 | }); | ~ ../src/flecs/distr/flecs.c:2849:28: note: in definition of macro ‘flecs_type_info_init’ 2849 | &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:4017:37: error: taking address of rvalue [-fpermissive] 4017 | .entity = ecs_entity(world, { .parent = EcsFlecsInternals }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:53: note: in definition of macro ‘ecs_observer’ 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:4017:19: note: in expansion of macro ‘ecs_entity’ 4017 | .entity = ecs_entity(world, { .parent = EcsFlecsInternals }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4016:5: note: in expansion of macro ‘ecs_observer’ 4016 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4171:5: note: in expansion of macro ‘ecs_observer’ 4171 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4178:5: note: in expansion of macro ‘ecs_observer’ 4178 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4187:5: note: in expansion of macro ‘ecs_observer’ 4187 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4196:5: note: in expansion of macro ‘ecs_observer’ 4196 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4205:5: note: in expansion of macro ‘ecs_observer’ 4205 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4213:5: note: in expansion of macro ‘ecs_observer’ 4213 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4222:5: note: in expansion of macro ‘ecs_observer’ 4222 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4231:5: note: in expansion of macro ‘ecs_observer’ 4231 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4240:5: note: in expansion of macro ‘ecs_observer’ 4240 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4251:5: note: in expansion of macro ‘ecs_observer’ 4251 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4260:5: note: in expansion of macro ‘ecs_observer’ 4260 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4270:5: note: in expansion of macro ‘ecs_observer’ 4270 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4281:5: note: in expansion of macro ‘ecs_observer’ 4281 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4289:5: note: in expansion of macro ‘ecs_observer’ 4289 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:4299:5: note: in expansion of macro ‘ecs_observer’ 4299 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_iter_t ecs_each_id(const ecs_world_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:4379:5: error: designator order for field ‘ecs_iter_t::world’ does not match declaration order in ‘ecs_iter_t’ 4379 | }; | ^ ../src/flecs/distr/flecs.c:4398:1: error: jump to label ‘error’ 4398 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:4368:5: note: in expansion of macro ‘ecs_check’ 4368 | ecs_check(id != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:4386:22: note: crosses initialization of ‘ecs_each_iter_t* each_iter’ 4386 | ecs_each_iter_t *each_iter = &it.priv_.iter.each; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:4381:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 4381 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:4374:16: note: crosses initialization of ‘ecs_iter_t it’ 4374 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:4370:24: note: crosses initialization of ‘const ecs_world_t* world’ 4370 | const ecs_world_t *world = ecs_get_world(stage); | ^~~~~ ../src/flecs/distr/flecs.c:4398:1: error: jump to label ‘error’ 4398 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:4367:5: note: in expansion of macro ‘ecs_check’ 4367 | ecs_check(stage != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:4386:22: note: crosses initialization of ‘ecs_each_iter_t* each_iter’ 4386 | ecs_each_iter_t *each_iter = &it.priv_.iter.each; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:4381:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 4381 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:4374:16: note: crosses initialization of ‘ecs_iter_t it’ 4374 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:4370:24: note: crosses initialization of ‘const ecs_world_t* world’ 4370 | const ecs_world_t *world = ecs_get_world(stage); | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘bool ecs_each_next(ecs_iter_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:4406:38: note: in expansion of macro ‘flecs_table_cache_next’ 4406 | const ecs_table_record_t *next = flecs_table_cache_next( | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:4885:28: error: expected unqualified-id before ‘template’ 4885 | ecs_script_template_t *template; | ^~~~~~~~ ../src/flecs/distr/flecs.c:4889:15: error: expected unqualified-id before ‘using’ 4889 | ecs_vec_t using; | ^~~~~ ../src/flecs/distr/flecs.c:4929:33: error: expected ‘,’ or ‘...’ before ‘template’ 4929 | ecs_script_template_node_t *template); | ^~~~~~~~ ../src/flecs/distr/flecs.c:4936:28: error: expected ‘,’ or ‘...’ before ‘template’ 4936 | ecs_script_template_t *template); | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘flecs_component_ptr_t flecs_table_get_component(ecs_table_t*, int32_t, int32_t)’: ../src/flecs/distr/flecs.c:5038:1: error: jump to label ‘error’ 5038 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:5032:5: note: in expansion of macro ‘ecs_check’ 5032 | ecs_check(column_index < table->column_count, ECS_NOT_A_COMPONENT, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:5033:19: note: crosses initialization of ‘ecs_column_t* column’ 5033 | ecs_column_t *column = &table->data.columns[column_index]; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘flecs_component_ptr_t flecs_get_component_ptr(ecs_table_t*, int32_t, ecs_id_record_t*)’: ../src/flecs/distr/flecs.c:5058:46: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 5058 | .ptr = flecs_sparse_get_any(idr->sparse, 0, entity) | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c: In function ‘void* flecs_get_base_component(const ecs_world_t*, ecs_table_t*, ecs_id_t, ecs_id_record_t*, int32_t)’: ../src/flecs/distr/flecs.c:5132:50: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 5132 | return flecs_sparse_get_any(idr->sparse, 0, base); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:5141:1: error: jump to label ‘error’ 5141 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:5107:5: note: in expansion of macro ‘ecs_check’ 5107 | ecs_check(tr_isa != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:5112:11: note: crosses initialization of ‘void* ptr’ 5112 | void *ptr = NULL; | ^~~ ../src/flecs/distr/flecs.c:5111:32: note: crosses initialization of ‘int32_t end’ 5111 | int32_t i = tr_isa->index, end = tr_isa->count + tr_isa->index; | ^~~ ../src/flecs/distr/flecs.c:5111:13: note: crosses initialization of ‘int32_t i’ 5111 | int32_t i = tr_isa->index, end = tr_isa->count + tr_isa->index; | ^ ../src/flecs/distr/flecs.c:5110:15: note: crosses initialization of ‘ecs_id_t* ids’ 5110 | ecs_id_t *ids = type.array; | ^~~ ../src/flecs/distr/flecs.c:5109:16: note: crosses initialization of ‘ecs_type_t type’ 5109 | ecs_type_t type = table->type; | ^~~~ ../src/flecs/distr/flecs.c:5141:1: error: jump to label ‘error’ 5141 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:5086:5: note: in expansion of macro ‘ecs_check’ 5086 | ecs_check(recur_depth < ECS_MAX_RECURSION, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:5112:11: note: crosses initialization of ‘void* ptr’ 5112 | void *ptr = NULL; | ^~~ ../src/flecs/distr/flecs.c:5111:32: note: crosses initialization of ‘int32_t end’ 5111 | int32_t i = tr_isa->index, end = tr_isa->count + tr_isa->index; | ^~~ ../src/flecs/distr/flecs.c:5111:13: note: crosses initialization of ‘int32_t i’ 5111 | int32_t i = tr_isa->index, end = tr_isa->count + tr_isa->index; | ^ ../src/flecs/distr/flecs.c:5110:15: note: crosses initialization of ‘ecs_id_t* ids’ 5110 | ecs_id_t *ids = type.array; | ^~~ ../src/flecs/distr/flecs.c:5109:16: note: crosses initialization of ‘ecs_type_t type’ 5109 | ecs_type_t type = table->type; | ^~~~ ../src/flecs/distr/flecs.c:5105:25: note: crosses initialization of ‘ecs_table_record_t* tr_isa’ 5105 | ecs_table_record_t *tr_isa = flecs_id_record_get_table( | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_instantiate_children(ecs_world_t*, ecs_entity_t, ecs_table_t*, int32_t, int32_t, ecs_table_t*, const ecs_instantiate_ctx_t*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:2905:5: note: in expansion of macro ‘flecs_alloc_n’ 2905 | flecs_alloc_n(&world->allocator, T, count) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:5396:31: note: in expansion of macro ‘flecs_walloc_n’ 5396 | ecs_entity_t *child_ids = flecs_walloc_n(world, ecs_entity_t, child_count); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_instantiate(ecs_world_t*, ecs_entity_t, ecs_table_t*, int32_t, int32_t, const ecs_instantiate_ctx_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:5513:22: note: in expansion of macro ‘flecs_table_cache_next’ 5513 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_sparse_on_add(ecs_world_t*, ecs_table_t*, int32_t, int32_t, const ecs_type_t*, bool)’: ../src/flecs/distr/flecs.c:5541:54: error: invalid conversion from ‘void*’ to ‘ecs_sparse_t*’ [-fpermissive] 5541 | void *ptr = flecs_sparse_ensure(idr->sparse, 0, e); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1421:19: note: initializing argument 1 of ‘void* flecs_sparse_ensure(ecs_sparse_t*, ecs_size_t, uint64_t)’ 1421 | ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_sparse_on_remove(ecs_world_t*, ecs_table_t*, int32_t, int32_t, const ecs_type_t*)’: ../src/flecs/distr/flecs.c:5583:59: error: invalid conversion from ‘void*’ to ‘ecs_sparse_t*’ [-fpermissive] 5583 | void *ptr = flecs_sparse_remove_fast(idr->sparse, 0, e); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1361:19: note: initializing argument 1 of ‘void* flecs_sparse_remove_fast(ecs_sparse_t*, ecs_size_t, uint64_t)’ 1361 | ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_union_on_add(ecs_world_t*, ecs_table_t*, int32_t, int32_t, const ecs_type_t*)’: ../src/flecs/distr/flecs.c:5612:30: error: invalid conversion from ‘void*’ to ‘ecs_switch_t*’ [-fpermissive] 5612 | idr->sparse, (uint32_t)e, ecs_pair_second(world, id)); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1912:19: note: initializing argument 1 of ‘bool flecs_switch_set(ecs_switch_t*, uint32_t, uint64_t)’ 1912 | ecs_switch_t *sw, | ~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c: In function ‘void flecs_union_on_remove(ecs_world_t*, ecs_table_t*, int32_t, int32_t, const ecs_type_t*)’: ../src/flecs/distr/flecs.c:5637:45: error: invalid conversion from ‘void*’ to ‘ecs_switch_t*’ [-fpermissive] 5637 | flecs_switch_reset(idr->sparse, (uint32_t)e); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1919:19: note: initializing argument 1 of ‘bool flecs_switch_reset(ecs_switch_t*, uint32_t)’ 1919 | ecs_switch_t *sw, | ~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c: In function ‘void flecs_notify_on_add(ecs_world_t*, ecs_table_t*, ecs_table_t*, int32_t, int32_t, const ecs_table_diff_t*, ecs_flags32_t, ecs_flags64_t, bool, bool)’: ../src/flecs/distr/flecs.c:5676:67: error: taking address of rvalue [-fpermissive] 5676 | flecs_emit(world, world, set_mask, &(ecs_event_desc_t){ | ^ 5677 | .event = EcsOnAdd, | ~~~~~~~~~~~~~~~~~~ 5678 | .ids = added, | ~~~~~~~~~~~~~ 5679 | .table = table, | ~~~~~~~~~~~~~~~ 5680 | .other_table = other_table, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5681 | .offset = row, | ~~~~~~~~~~~~~~ 5682 | .count = count, | ~~~~~~~~~~~~~~~ 5683 | .observable = world, | ~~~~~~~~~~~~~~~~~~~~ 5684 | .flags = flags | ~~~~~~~~~~~~~~ 5685 | }); | ~ ../src/flecs/distr/flecs.c: In function ‘void flecs_notify_on_remove(ecs_world_t*, ecs_table_t*, ecs_table_t*, int32_t, int32_t, const ecs_table_diff_t*)’: ../src/flecs/distr/flecs.c:5714:61: error: taking address of rvalue [-fpermissive] 5714 | flecs_emit(world, world, 0, &(ecs_event_desc_t) { | ^ 5715 | .event = EcsOnRemove, | ~~~~~~~~~~~~~~~~~~~~~ 5716 | .ids = removed, | ~~~~~~~~~~~~~~~ 5717 | .table = table, | ~~~~~~~~~~~~~~~ 5718 | .other_table = other_table, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5719 | .offset = row, | ~~~~~~~~~~~~~~ 5720 | .count = count, | ~~~~~~~~~~~~~~~ 5721 | .observable = world | ~~~~~~~~~~~~~~~~~~~ 5722 | }); | ~ ../src/flecs/distr/flecs.c: In function ‘void flecs_move_entity(ecs_world_t*, ecs_entity_t, ecs_record_t*, ecs_table_t*, ecs_table_diff_t*, bool, ecs_flags32_t)’: ../src/flecs/distr/flecs.c:5851:1: error: jump to label ‘error’ 5851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:5822:5: note: in expansion of macro ‘ecs_check’ 5822 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:5829:13: note: crosses initialization of ‘int32_t dst_row’ 5829 | int32_t dst_row = flecs_table_append(world, dst_table, entity, | ^~~~~~~ ../src/flecs/distr/flecs.c: In function ‘flecs_component_ptr_t flecs_ensure(ecs_world_t*, ecs_entity_t, ecs_entity_t, ecs_record_t*)’: ../src/flecs/distr/flecs.c:6197:57: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 6197 | dst.ptr = flecs_sparse_get_any(idr->sparse, 0, entity); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:6225:1: error: jump to label ‘error’ 6225 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6176:5: note: in expansion of macro ‘ecs_check’ 6176 | ecs_check((id & ECS_COMPONENT_MASK) == id || | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6180:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 6180 | ecs_id_record_t *idr = NULL; | ^~~ ../src/flecs/distr/flecs.c:6225:1: error: jump to label ‘error’ 6225 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6175:5: note: in expansion of macro ‘ecs_check’ 6175 | ecs_check(r != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6180:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 6180 | ecs_id_record_t *idr = NULL; | ^~~ ../src/flecs/distr/flecs.c:6225:1: error: jump to label ‘error’ 6225 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6174:5: note: in expansion of macro ‘ecs_check’ 6174 | ecs_check(id != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6180:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 6180 | ecs_id_record_t *idr = NULL; | ^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_notify_on_set(ecs_world_t*, ecs_table_t*, int32_t, int32_t, ecs_type_t*, bool)’: ../src/flecs/distr/flecs.c:6321:57: error: taking address of rvalue [-fpermissive] 6321 | flecs_emit(world, world, 0, &(ecs_event_desc_t) { | ^ 6322 | .event = EcsOnSet, | ~~~~~~~~~~~~~~~~~~ 6323 | .ids = ids, | ~~~~~~~~~~~ 6324 | .table = table, | ~~~~~~~~~~~~~~~ 6325 | .offset = row, | ~~~~~~~~~~~~~~ 6326 | .count = count, | ~~~~~~~~~~~~~~~ 6327 | .observable = world | ~~~~~~~~~~~~~~~~~~~ 6328 | }); | ~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_commit(ecs_world_t*, ecs_entity_t, ecs_record_t*, ecs_table_t*, const ecs_type_t*, const ecs_type_t*)’: ../src/flecs/distr/flecs.c:6395:1: error: jump to label ‘error’ 6395 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6368:5: note: in expansion of macro ‘ecs_check’ 6368 | ecs_check(!ecs_is_deferred(world), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6377:22: note: crosses initialization of ‘ecs_table_diff_t diff’ 6377 | ecs_table_diff_t diff = ECS_TABLE_DIFF_INIT; | ^~~~ ../src/flecs/distr/flecs.c:6371:18: note: crosses initialization of ‘ecs_table_t* src_table’ 6371 | ecs_table_t *src_table = NULL; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6395:1: error: jump to label ‘error’ 6395 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6367:5: note: in expansion of macro ‘ecs_check’ 6367 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6377:22: note: crosses initialization of ‘ecs_table_diff_t diff’ 6377 | ecs_table_diff_t diff = ECS_TABLE_DIFF_INIT; | ^~~~ ../src/flecs/distr/flecs.c:6371:18: note: crosses initialization of ‘ecs_table_t* src_table’ 6371 | ecs_table_t *src_table = NULL; | ^~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_set_with(ecs_world_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:6408:1: error: jump to label ‘error’ 6408 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6403:5: note: in expansion of macro ‘ecs_check’ 6403 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6405:14: note: crosses initialization of ‘ecs_id_t prev’ 6405 | ecs_id_t prev = stage->with; | ^~~~ ../src/flecs/distr/flecs.c:6404:18: note: crosses initialization of ‘ecs_stage_t* stage’ 6404 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_id_t ecs_get_with(const ecs_world_t*)’: ../src/flecs/distr/flecs.c:6418:1: error: jump to label ‘error’ 6418 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6415:5: note: in expansion of macro ‘ecs_check’ 6415 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6416:24: note: crosses initialization of ‘const ecs_stage_t* stage’ 6416 | const ecs_stage_t *stage = flecs_stage_from_readonly_world(world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_new(ecs_world_t*)’: ../src/flecs/distr/flecs.c:6457:1: error: jump to label ‘error’ 6457 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6425:5: note: in expansion of macro ‘ecs_check’ 6425 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6431:18: note: crosses initialization of ‘ecs_world_t* unsafe_world’ 6431 | ecs_world_t *unsafe_world = | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_new_low_id(ecs_world_t*)’: ../src/flecs/distr/flecs.c:6495:1: error: jump to label ‘error’ 6495 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6474:9: note: in expansion of macro ‘ecs_check’ 6474 | ecs_check(ecs_get_stage_count(world) <= 1, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6478:18: note: crosses initialization of ‘ecs_entity_t id’ 6478 | ecs_entity_t id = 0; | ^~ ../src/flecs/distr/flecs.c:6495:1: error: jump to label ‘error’ 6495 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6464:5: note: in expansion of macro ‘ecs_check’ 6464 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6478:18: note: crosses initialization of ‘ecs_entity_t id’ 6478 | ecs_entity_t id = 0; | ^~ ../src/flecs/distr/flecs.c:6470:18: note: crosses initialization of ‘ecs_world_t* unsafe_world’ 6470 | ecs_world_t *unsafe_world = | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_new_w_id(ecs_world_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:6528:1: error: jump to label ‘error’ 6528 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6504:5: note: in expansion of macro ‘ecs_check’ 6504 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6521:19: note: crosses initialization of ‘ecs_record_t* r’ 6521 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:6515:18: note: crosses initialization of ‘ecs_table_t* table’ 6515 | ecs_table_t *table = flecs_find_table_add( | ^~~~~ ../src/flecs/distr/flecs.c:6513:30: note: crosses initialization of ‘ecs_table_diff_builder_t diff_builder’ 6513 | ecs_table_diff_builder_t diff_builder = ECS_TABLE_DIFF_INIT; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6507:18: note: crosses initialization of ‘ecs_entity_t entity’ 6507 | ecs_entity_t entity = ecs_new(world); | ^~~~~~ ../src/flecs/distr/flecs.c:6506:18: note: crosses initialization of ‘ecs_stage_t* stage’ 6506 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:6528:1: error: jump to label ‘error’ 6528 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6503:5: note: in expansion of macro ‘ecs_check’ 6503 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6521:19: note: crosses initialization of ‘ecs_record_t* r’ 6521 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:6515:18: note: crosses initialization of ‘ecs_table_t* table’ 6515 | ecs_table_t *table = flecs_find_table_add( | ^~~~~ ../src/flecs/distr/flecs.c:6513:30: note: crosses initialization of ‘ecs_table_diff_builder_t diff_builder’ 6513 | ecs_table_diff_builder_t diff_builder = ECS_TABLE_DIFF_INIT; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6507:18: note: crosses initialization of ‘ecs_entity_t entity’ 6507 | ecs_entity_t entity = ecs_new(world); | ^~~~~~ ../src/flecs/distr/flecs.c:6506:18: note: crosses initialization of ‘ecs_stage_t* stage’ 6506 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_new_w_table(ecs_world_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.c:6555:1: error: jump to label ‘error’ 6555 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6537:5: note: in expansion of macro ‘ecs_check’ 6537 | ecs_check(table != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6547:22: note: crosses initialization of ‘ecs_table_diff_t table_diff’ 6547 | ecs_table_diff_t table_diff = { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:6542:19: note: crosses initialization of ‘ecs_flags32_t flags’ 6542 | ecs_flags32_t flags = table->flags & EcsTableAddEdgeFlags; | ^~~~~ ../src/flecs/distr/flecs.c:6541:19: note: crosses initialization of ‘ecs_record_t* r’ 6541 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:6540:18: note: crosses initialization of ‘ecs_entity_t entity’ 6540 | ecs_entity_t entity = ecs_new(world); | ^~~~~~ ../src/flecs/distr/flecs.c:6555:1: error: jump to label ‘error’ 6555 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6536:5: note: in expansion of macro ‘ecs_check’ 6536 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6547:22: note: crosses initialization of ‘ecs_table_diff_t table_diff’ 6547 | ecs_table_diff_t table_diff = { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:6542:19: note: crosses initialization of ‘ecs_flags32_t flags’ 6542 | ecs_flags32_t flags = table->flags & EcsTableAddEdgeFlags; | ^~~~~ ../src/flecs/distr/flecs.c:6541:19: note: crosses initialization of ‘ecs_record_t* r’ 6541 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:6540:18: note: crosses initialization of ‘ecs_entity_t entity’ 6540 | ecs_entity_t entity = ecs_new(world); | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_copy_id(ecs_world_t*, ecs_record_t*, ecs_id_t, size_t, void*, void*, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:6587:1: error: jump to label ‘error’ 6587 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6570:5: note: in expansion of macro ‘ecs_check’ 6570 | ecs_check(src_ptr != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6581:18: note: crosses initialization of ‘ecs_table_t* table’ 6581 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:6572:16: note: crosses initialization of ‘void (* copy)(void*, const void*, int32_t, const ecs_type_info_t*)’ 6572 | ecs_copy_t copy = ti->hooks.copy; | ^~~~ ../src/flecs/distr/flecs.c:6587:1: error: jump to label ‘error’ 6587 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6569:5: note: in expansion of macro ‘ecs_check’ 6569 | ecs_check(dst_ptr != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6581:18: note: crosses initialization of ‘ecs_table_t* table’ 6581 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:6572:16: note: crosses initialization of ‘void (* copy)(void*, const void*, int32_t, const ecs_type_info_t*)’ 6572 | ecs_copy_t copy = ti->hooks.copy; | ^~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_traverse_add(ecs_world_t*, ecs_entity_t, const char*, const ecs_entity_desc_t*, ecs_entity_t, ecs_id_t, bool, bool)’: ../src/flecs/distr/flecs.c:6740:43: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 6740 | ecs_id_t *expr_ids = ecs_vec_first(&ids); | ~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:6797:1: error: jump to label ‘error’ 6797 | error: | ^~~~~ ../src/flecs/distr/flecs.c:6690:18: note: from here 6690 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:6714:19: note: crosses initialization of ‘ecs_record_t* r’ 6714 | ecs_record_t *r = flecs_entities_get(world, result); | ^ ../src/flecs/distr/flecs.c:6713:37: note: crosses initialization of ‘ecs_table_t* table’ 6713 | ecs_table_t *src_table = NULL, *table = NULL; | ^~~~~ ../src/flecs/distr/flecs.c:6713:18: note: crosses initialization of ‘ecs_table_t* src_table’ 6713 | ecs_table_t *src_table = NULL, *table = NULL; | ^~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_entity_init(ecs_world_t*, const ecs_entity_desc_t*)’: ../src/flecs/distr/flecs.c:7060:1: error: jump to label ‘error’ 7060 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6915:21: note: in expansion of macro ‘ecs_check’ 6915 | ecs_check(false, ECS_INVALID_PARAMETER, "%s: cannot set parent in " | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6961:17: note: crosses initialization of ‘const char* prefix’ 6961 | const char *prefix = world->info.name_prefix; | ^~~~~~ ../src/flecs/distr/flecs.c:6952:10: note: crosses initialization of ‘bool name_assigned’ 6952 | bool name_assigned = false; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6951:10: note: crosses initialization of ‘bool flecs_new_entity’ 6951 | bool flecs_new_entity = false; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6950:17: note: crosses initialization of ‘const char* root_sep’ 6950 | const char *root_sep = desc->root_sep; | ^~~~~~~~ ../src/flecs/distr/flecs.c:6928:17: note: crosses initialization of ‘const char* sep’ 6928 | const char *sep = desc->sep; | ^~~ ../src/flecs/distr/flecs.c:6927:17: note: crosses initialization of ‘const char* name’ 6927 | const char *name = desc->name; | ^~~~ ../src/flecs/distr/flecs.c:7060:1: error: jump to label ‘error’ 7060 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6898:5: note: in expansion of macro ‘ecs_check’ 6898 | ecs_check(desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6961:17: note: crosses initialization of ‘const char* prefix’ 6961 | const char *prefix = world->info.name_prefix; | ^~~~~~ ../src/flecs/distr/flecs.c:6952:10: note: crosses initialization of ‘bool name_assigned’ 6952 | bool name_assigned = false; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6951:10: note: crosses initialization of ‘bool flecs_new_entity’ 6951 | bool flecs_new_entity = false; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6950:17: note: crosses initialization of ‘const char* root_sep’ 6950 | const char *root_sep = desc->root_sep; | ^~~~~~~~ ../src/flecs/distr/flecs.c:6928:17: note: crosses initialization of ‘const char* sep’ 6928 | const char *sep = desc->sep; | ^~~ ../src/flecs/distr/flecs.c:6927:17: note: crosses initialization of ‘const char* name’ 6927 | const char *name = desc->name; | ^~~~ ../src/flecs/distr/flecs.c:6904:18: note: crosses initialization of ‘ecs_entity_t result’ 6904 | ecs_entity_t result = desc->id; | ^~~~~~ ../src/flecs/distr/flecs.c:6903:14: note: crosses initialization of ‘ecs_id_t with’ 6903 | ecs_id_t with = ecs_get_with(world); | ^~~~ ../src/flecs/distr/flecs.c:6902:18: note: crosses initialization of ‘ecs_entity_t scope’ 6902 | ecs_entity_t scope = stage->scope; | ^~~~~ ../src/flecs/distr/flecs.c:6901:18: note: crosses initialization of ‘ecs_stage_t* stage’ 6901 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:7060:1: error: jump to label ‘error’ 7060 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6897:5: note: in expansion of macro ‘ecs_check’ 6897 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6961:17: note: crosses initialization of ‘const char* prefix’ 6961 | const char *prefix = world->info.name_prefix; | ^~~~~~ ../src/flecs/distr/flecs.c:6952:10: note: crosses initialization of ‘bool name_assigned’ 6952 | bool name_assigned = false; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6951:10: note: crosses initialization of ‘bool flecs_new_entity’ 6951 | bool flecs_new_entity = false; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6950:17: note: crosses initialization of ‘const char* root_sep’ 6950 | const char *root_sep = desc->root_sep; | ^~~~~~~~ ../src/flecs/distr/flecs.c:6928:17: note: crosses initialization of ‘const char* sep’ 6928 | const char *sep = desc->sep; | ^~~ ../src/flecs/distr/flecs.c:6927:17: note: crosses initialization of ‘const char* name’ 6927 | const char *name = desc->name; | ^~~~ ../src/flecs/distr/flecs.c:6904:18: note: crosses initialization of ‘ecs_entity_t result’ 6904 | ecs_entity_t result = desc->id; | ^~~~~~ ../src/flecs/distr/flecs.c:6903:14: note: crosses initialization of ‘ecs_id_t with’ 6903 | ecs_id_t with = ecs_get_with(world); | ^~~~ ../src/flecs/distr/flecs.c:6902:18: note: crosses initialization of ‘ecs_entity_t scope’ 6902 | ecs_entity_t scope = stage->scope; | ^~~~~ ../src/flecs/distr/flecs.c:6901:18: note: crosses initialization of ‘ecs_stage_t* stage’ 6901 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:7060:1: error: jump to label ‘error’ 7060 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6896:5: note: in expansion of macro ‘ecs_check’ 6896 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:6961:17: note: crosses initialization of ‘const char* prefix’ 6961 | const char *prefix = world->info.name_prefix; | ^~~~~~ ../src/flecs/distr/flecs.c:6952:10: note: crosses initialization of ‘bool name_assigned’ 6952 | bool name_assigned = false; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6951:10: note: crosses initialization of ‘bool flecs_new_entity’ 6951 | bool flecs_new_entity = false; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:6950:17: note: crosses initialization of ‘const char* root_sep’ 6950 | const char *root_sep = desc->root_sep; | ^~~~~~~~ ../src/flecs/distr/flecs.c:6928:17: note: crosses initialization of ‘const char* sep’ 6928 | const char *sep = desc->sep; | ^~~ ../src/flecs/distr/flecs.c:6927:17: note: crosses initialization of ‘const char* name’ 6927 | const char *name = desc->name; | ^~~~ ../src/flecs/distr/flecs.c:6904:18: note: crosses initialization of ‘ecs_entity_t result’ 6904 | ecs_entity_t result = desc->id; | ^~~~~~ ../src/flecs/distr/flecs.c:6903:14: note: crosses initialization of ‘ecs_id_t with’ 6903 | ecs_id_t with = ecs_get_with(world); | ^~~~ ../src/flecs/distr/flecs.c:6902:18: note: crosses initialization of ‘ecs_entity_t scope’ 6902 | ecs_entity_t scope = stage->scope; | ^~~~~ ../src/flecs/distr/flecs.c:6901:18: note: crosses initialization of ‘ecs_stage_t* stage’ 6901 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘const ecs_entity_t* ecs_bulk_init(ecs_world_t*, const ecs_bulk_desc_t*)’: ../src/flecs/distr/flecs.c:7112:13: error: expected primary-expression before ‘.’ token 7112 | .added.array = table->type.array, | ^ ../src/flecs/distr/flecs.c:7113:13: error: expected primary-expression before ‘.’ token 7113 | .added.count = table->type.count | ^ ../src/flecs/distr/flecs.c:7127:1: error: jump to label ‘error’ 7127 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7071:5: note: in expansion of macro ‘ecs_check’ 7071 | ecs_check(desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7090:18: note: crosses initialization of ‘ecs_table_t* table’ 7090 | ecs_table_t *table = desc->table; | ^~~~~ ../src/flecs/distr/flecs.c:7077:13: note: crosses initialization of ‘int32_t sparse_count’ 7077 | int32_t sparse_count = 0; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7075:13: note: crosses initialization of ‘int32_t count’ 7075 | int32_t count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:7074:25: note: crosses initialization of ‘const ecs_entity_t* entities’ 7074 | const ecs_entity_t *entities = desc->entities; | ^~~~~~~~ ../src/flecs/distr/flecs.c:7127:1: error: jump to label ‘error’ 7127 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7070:5: note: in expansion of macro ‘ecs_check’ 7070 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7090:18: note: crosses initialization of ‘ecs_table_t* table’ 7090 | ecs_table_t *table = desc->table; | ^~~~~ ../src/flecs/distr/flecs.c:7077:13: note: crosses initialization of ‘int32_t sparse_count’ 7077 | int32_t sparse_count = 0; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7075:13: note: crosses initialization of ‘int32_t count’ 7075 | int32_t count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:7074:25: note: crosses initialization of ‘const ecs_entity_t* entities’ 7074 | const ecs_entity_t *entities = desc->entities; | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_component_init(ecs_world_t*, const ecs_component_desc_t*)’: ../src/flecs/distr/flecs.c:7205:27: error: taking address of rvalue [-fpermissive] 7205 | ecs_entity(world, { .id = result, .name = desc->type.name }); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:7227:1: error: jump to label ‘error’ 7227 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7157:5: note: in expansion of macro ‘ecs_check’ 7157 | ecs_check(desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7185:19: note: crosses initialization of ‘EcsComponent* ptr’ 7185 | EcsComponent *ptr = ecs_ensure(world, result, EcsComponent); | ^~~ ../src/flecs/distr/flecs.c:7177:10: note: crosses initialization of ‘bool new_component’ 7177 | bool new_component = true; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7164:18: note: crosses initialization of ‘ecs_entity_t result’ 7164 | ecs_entity_t result = desc->entity; | ^~~~~~ ../src/flecs/distr/flecs.c:7227:1: error: jump to label ‘error’ 7227 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7156:5: note: in expansion of macro ‘ecs_check’ 7156 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7185:19: note: crosses initialization of ‘EcsComponent* ptr’ 7185 | EcsComponent *ptr = ecs_ensure(world, result, EcsComponent); | ^~~ ../src/flecs/distr/flecs.c:7177:10: note: crosses initialization of ‘bool new_component’ 7177 | bool new_component = true; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7164:18: note: crosses initialization of ‘ecs_entity_t result’ 7164 | ecs_entity_t result = desc->entity; | ^~~~~~ ../src/flecs/distr/flecs.c:7227:1: error: jump to label ‘error’ 7227 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7155:5: note: in expansion of macro ‘ecs_check’ 7155 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7185:19: note: crosses initialization of ‘EcsComponent* ptr’ 7185 | EcsComponent *ptr = ecs_ensure(world, result, EcsComponent); | ^~~ ../src/flecs/distr/flecs.c:7177:10: note: crosses initialization of ‘bool new_component’ 7177 | bool new_component = true; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7164:18: note: crosses initialization of ‘ecs_entity_t result’ 7164 | ecs_entity_t result = desc->entity; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘const ecs_entity_t* ecs_bulk_new_w_id(ecs_world_t*, ecs_id_t, int32_t)’: ../src/flecs/distr/flecs.c:7259:1: error: jump to label ‘error’ 7259 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7236:5: note: in expansion of macro ‘ecs_check’ 7236 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7245:30: note: crosses initialization of ‘ecs_table_diff_builder_t diff’ 7245 | ecs_table_diff_builder_t diff = ECS_TABLE_DIFF_INIT; | ^~~~ ../src/flecs/distr/flecs.c:7244:18: note: crosses initialization of ‘ecs_table_t* table’ 7244 | ecs_table_t *table = &world->store.root; | ^~~~~ ../src/flecs/distr/flecs.c:7237:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7237 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_clear(ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:7294:1: error: jump to label ‘error’ 7294 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7268:5: note: in expansion of macro ‘ecs_check’ 7268 | ecs_check(ecs_is_valid(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7278:18: note: crosses initialization of ‘ecs_table_t* table’ 7278 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:7275:19: note: crosses initialization of ‘ecs_record_t* r’ 7275 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:7270:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7270 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:7294:1: error: jump to label ‘error’ 7294 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7267:5: note: in expansion of macro ‘ecs_check’ 7267 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7278:18: note: crosses initialization of ‘ecs_table_t* table’ 7278 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:7275:19: note: crosses initialization of ‘ecs_record_t* r’ 7275 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:7270:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7270 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_update_monitors_for_delete(ecs_world_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:7448:30: error: taking address of temporary array 7448 | .array = (ecs_id_t[]){id}, | ^~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_id_mark_for_delete(ecs_world_t*, ecs_id_record_t*, ecs_entity_t, bool)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:7475:22: note: in expansion of macro ‘flecs_table_cache_next’ 7475 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:7499:22: note: in expansion of macro ‘flecs_table_cache_next’ 7499 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_remove_from_table(ecs_world_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.c:7570:41: error: invalid conversion from ‘void*’ to ‘ecs_marked_id_t*’ [-fpermissive] 7570 | ecs_marked_id_t *ids = ecs_vec_first(&world->store.marked_ids); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘bool flecs_on_delete_clear_tables(ecs_world_t*)’: ../src/flecs/distr/flecs.c:7622:41: error: invalid conversion from ‘void*’ to ‘ecs_marked_id_t*’ [-fpermissive] 7622 | ecs_marked_id_t *ids = ecs_vec_first(&world->store.marked_ids); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:7633:34: note: in expansion of macro ‘flecs_table_cache_next’ 7633 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7658:32: error: invalid conversion from ‘void*’ to ‘ecs_marked_id_t*’ [-fpermissive] 7658 | ids = ecs_vec_first(&world->store.marked_ids); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘bool flecs_on_delete_clear_ids(ecs_world_t*)’: ../src/flecs/distr/flecs.c:7681:41: error: invalid conversion from ‘void*’ to ‘ecs_marked_id_t*’ [-fpermissive] 7681 | ecs_marked_id_t *ids = ecs_vec_first(&world->store.marked_ids); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_on_delete(ecs_world_t*, ecs_id_t, ecs_entity_t, bool)’: ../src/flecs/distr/flecs.c:7762:45: error: invalid conversion from ‘void*’ to ‘ecs_marked_id_t*’ [-fpermissive] 7762 | ecs_marked_id_t *ids = ecs_vec_first(&world->store.marked_ids); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void ecs_delete(ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:7873:1: error: jump to label ‘error’ 7873 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7817:5: note: in expansion of macro ‘ecs_check’ 7817 | ecs_check(entity != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7826:19: note: crosses initialization of ‘ecs_record_t* r’ 7826 | ecs_record_t *r = flecs_entities_try(world, entity); | ^ ../src/flecs/distr/flecs.c:7819:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7819 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:7873:1: error: jump to label ‘error’ 7873 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7816:5: note: in expansion of macro ‘ecs_check’ 7816 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7826:19: note: crosses initialization of ‘ecs_record_t* r’ 7826 | ecs_record_t *r = flecs_entities_try(world, entity); | ^ ../src/flecs/distr/flecs.c:7819:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7819 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_clone(ecs_world_t*, ecs_entity_t, ecs_entity_t, bool)’: ../src/flecs/distr/flecs.c:7974:1: error: jump to label ‘done’ 7974 | done: | ^~~~ ../src/flecs/distr/flecs.c:7940:14: note: from here 7940 | goto done; | ^~~~ ../src/flecs/distr/flecs.c:7958:13: note: crosses initialization of ‘int32_t row’ 7958 | int32_t row = ECS_RECORD_TO_ROW(dst_r->row); | ^~~ ../src/flecs/distr/flecs.c:7954:19: note: crosses initialization of ‘ecs_record_t* dst_r’ 7954 | ecs_record_t *dst_r = flecs_entities_get(world, dst); | ^~~~~ ../src/flecs/distr/flecs.c:7950:22: note: crosses initialization of ‘ecs_table_diff_t diff’ 7950 | ecs_table_diff_t diff = { | ^~~~ ../src/flecs/distr/flecs.c:7949:16: note: crosses initialization of ‘ecs_type_t dst_type’ 7949 | ecs_type_t dst_type = dst_table->type; | ^~~~~~~~ ../src/flecs/distr/flecs.c:7943:18: note: crosses initialization of ‘ecs_table_t* dst_table’ 7943 | ecs_table_t *dst_table = src_table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7977:1: error: jump to label ‘error’ 7977 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7925:5: note: in expansion of macro ‘ecs_check’ 7925 | ecs_check(!dst || !ecs_get_table(world, dst), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7958:13: note: crosses initialization of ‘int32_t row’ 7958 | int32_t row = ECS_RECORD_TO_ROW(dst_r->row); | ^~~ ../src/flecs/distr/flecs.c:7954:19: note: crosses initialization of ‘ecs_record_t* dst_r’ 7954 | ecs_record_t *dst_r = flecs_entities_get(world, dst); | ^~~~~ ../src/flecs/distr/flecs.c:7950:22: note: crosses initialization of ‘ecs_table_diff_t diff’ 7950 | ecs_table_diff_t diff = { | ^~~~ ../src/flecs/distr/flecs.c:7949:16: note: crosses initialization of ‘ecs_type_t dst_type’ 7949 | ecs_type_t dst_type = dst_table->type; | ^~~~~~~~ ../src/flecs/distr/flecs.c:7943:18: note: crosses initialization of ‘ecs_table_t* dst_table’ 7943 | ecs_table_t *dst_table = src_table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7938:18: note: crosses initialization of ‘ecs_table_t* src_table’ 7938 | ecs_table_t *src_table = src_r->table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7936:19: note: crosses initialization of ‘ecs_record_t* src_r’ 7936 | ecs_record_t *src_r = flecs_entities_get(world, src); | ^~~~~ ../src/flecs/distr/flecs.c:7927:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7927 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:7977:1: error: jump to label ‘error’ 7977 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7924:5: note: in expansion of macro ‘ecs_check’ 7924 | ecs_check(ecs_is_alive(world, src), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7958:13: note: crosses initialization of ‘int32_t row’ 7958 | int32_t row = ECS_RECORD_TO_ROW(dst_r->row); | ^~~ ../src/flecs/distr/flecs.c:7954:19: note: crosses initialization of ‘ecs_record_t* dst_r’ 7954 | ecs_record_t *dst_r = flecs_entities_get(world, dst); | ^~~~~ ../src/flecs/distr/flecs.c:7950:22: note: crosses initialization of ‘ecs_table_diff_t diff’ 7950 | ecs_table_diff_t diff = { | ^~~~ ../src/flecs/distr/flecs.c:7949:16: note: crosses initialization of ‘ecs_type_t dst_type’ 7949 | ecs_type_t dst_type = dst_table->type; | ^~~~~~~~ ../src/flecs/distr/flecs.c:7943:18: note: crosses initialization of ‘ecs_table_t* dst_table’ 7943 | ecs_table_t *dst_table = src_table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7938:18: note: crosses initialization of ‘ecs_table_t* src_table’ 7938 | ecs_table_t *src_table = src_r->table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7936:19: note: crosses initialization of ‘ecs_record_t* src_r’ 7936 | ecs_record_t *src_r = flecs_entities_get(world, src); | ^~~~~ ../src/flecs/distr/flecs.c:7927:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7927 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:7977:1: error: jump to label ‘error’ 7977 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7923:5: note: in expansion of macro ‘ecs_check’ 7923 | ecs_check(src != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7958:13: note: crosses initialization of ‘int32_t row’ 7958 | int32_t row = ECS_RECORD_TO_ROW(dst_r->row); | ^~~ ../src/flecs/distr/flecs.c:7954:19: note: crosses initialization of ‘ecs_record_t* dst_r’ 7954 | ecs_record_t *dst_r = flecs_entities_get(world, dst); | ^~~~~ ../src/flecs/distr/flecs.c:7950:22: note: crosses initialization of ‘ecs_table_diff_t diff’ 7950 | ecs_table_diff_t diff = { | ^~~~ ../src/flecs/distr/flecs.c:7949:16: note: crosses initialization of ‘ecs_type_t dst_type’ 7949 | ecs_type_t dst_type = dst_table->type; | ^~~~~~~~ ../src/flecs/distr/flecs.c:7943:18: note: crosses initialization of ‘ecs_table_t* dst_table’ 7943 | ecs_table_t *dst_table = src_table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7938:18: note: crosses initialization of ‘ecs_table_t* src_table’ 7938 | ecs_table_t *src_table = src_r->table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7936:19: note: crosses initialization of ‘ecs_record_t* src_r’ 7936 | ecs_record_t *src_r = flecs_entities_get(world, src); | ^~~~~ ../src/flecs/distr/flecs.c:7927:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7927 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:7977:1: error: jump to label ‘error’ 7977 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:7922:5: note: in expansion of macro ‘ecs_check’ 7922 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7958:13: note: crosses initialization of ‘int32_t row’ 7958 | int32_t row = ECS_RECORD_TO_ROW(dst_r->row); | ^~~ ../src/flecs/distr/flecs.c:7954:19: note: crosses initialization of ‘ecs_record_t* dst_r’ 7954 | ecs_record_t *dst_r = flecs_entities_get(world, dst); | ^~~~~ ../src/flecs/distr/flecs.c:7950:22: note: crosses initialization of ‘ecs_table_diff_t diff’ 7950 | ecs_table_diff_t diff = { | ^~~~ ../src/flecs/distr/flecs.c:7949:16: note: crosses initialization of ‘ecs_type_t dst_type’ 7949 | ecs_type_t dst_type = dst_table->type; | ^~~~~~~~ ../src/flecs/distr/flecs.c:7943:18: note: crosses initialization of ‘ecs_table_t* dst_table’ 7943 | ecs_table_t *dst_table = src_table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7938:18: note: crosses initialization of ‘ecs_table_t* src_table’ 7938 | ecs_table_t *src_table = src_r->table; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:7936:19: note: crosses initialization of ‘ecs_record_t* src_r’ 7936 | ecs_record_t *src_r = flecs_entities_get(world, src); | ^~~~~ ../src/flecs/distr/flecs.c:7927:18: note: crosses initialization of ‘ecs_stage_t* stage’ 7927 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘const void* ecs_get_id(const ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:7993:46: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 7993 | return flecs_sparse_get_any(idr->sparse, 0, entity);\ | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:8016:9: note: in expansion of macro ‘ecs_get_low_id’ 8016 | ecs_get_low_id(table, r, id); | ^~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:8032:46: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 8032 | return flecs_sparse_get_any(idr->sparse, 0, entity); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:8039:1: error: jump to label ‘error’ 8039 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8034:9: note: in expansion of macro ‘ecs_check’ 8034 | ecs_check(tr->column != -1, ECS_NOT_A_COMPONENT, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8037:13: note: crosses initialization of ‘int32_t row’ 8037 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8039:1: error: jump to label ‘error’ 8039 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8003:5: note: in expansion of macro ‘ecs_check’ 8003 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8037:13: note: crosses initialization of ‘int32_t row’ 8037 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8027:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 8027 | const ecs_table_record_t *tr = flecs_id_record_get_table(idr, table); | ^~ ../src/flecs/distr/flecs.c:8022:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8022 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:8010:18: note: crosses initialization of ‘ecs_table_t* table’ 8010 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8007:19: note: crosses initialization of ‘ecs_record_t* r’ 8007 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8039:1: error: jump to label ‘error’ 8039 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8002:5: note: in expansion of macro ‘ecs_check’ 8002 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8037:13: note: crosses initialization of ‘int32_t row’ 8037 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8027:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 8027 | const ecs_table_record_t *tr = flecs_id_record_get_table(idr, table); | ^~ ../src/flecs/distr/flecs.c:8022:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8022 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:8010:18: note: crosses initialization of ‘ecs_table_t* table’ 8010 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8007:19: note: crosses initialization of ‘ecs_record_t* r’ 8007 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c: In function ‘void* ecs_get_mut_id(const ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:7993:46: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 7993 | return flecs_sparse_get_any(idr->sparse, 0, entity);\ | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:8062:9: note: in expansion of macro ‘ecs_get_low_id’ 8062 | ecs_get_low_id(table, r, id); | ^~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:8069:1: error: jump to label ‘error’ 8069 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8049:5: note: in expansion of macro ‘ecs_check’ 8049 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8067:13: note: crosses initialization of ‘int32_t row’ 8067 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8066:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8066 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:8056:18: note: crosses initialization of ‘ecs_table_t* table’ 8056 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8053:19: note: crosses initialization of ‘ecs_record_t* r’ 8053 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8069:1: error: jump to label ‘error’ 8069 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8048:5: note: in expansion of macro ‘ecs_check’ 8048 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8067:13: note: crosses initialization of ‘int32_t row’ 8067 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8066:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8066 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:8056:18: note: crosses initialization of ‘ecs_table_t* table’ 8056 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8053:19: note: crosses initialization of ‘ecs_record_t* r’ 8053 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c: In function ‘void* ecs_ensure_id(ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:8095:1: error: jump to label ‘error’ 8095 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8080:5: note: in expansion of macro ‘ecs_check’ 8080 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8090:11: note: crosses initialization of ‘void* result’ 8090 | void *result = flecs_ensure(world, entity, id, r).ptr; | ^~~~~~ ../src/flecs/distr/flecs.c:8088:19: note: crosses initialization of ‘ecs_record_t* r’ 8088 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8082:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8082 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8095:1: error: jump to label ‘error’ 8095 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8079:5: note: in expansion of macro ‘ecs_check’ 8079 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8090:11: note: crosses initialization of ‘void* result’ 8090 | void *result = flecs_ensure(world, entity, id, r).ptr; | ^~~~~~ ../src/flecs/distr/flecs.c:8088:19: note: crosses initialization of ‘ecs_record_t* r’ 8088 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8082:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8082 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8095:1: error: jump to label ‘error’ 8095 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8078:5: note: in expansion of macro ‘ecs_check’ 8078 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8090:11: note: crosses initialization of ‘void* result’ 8090 | void *result = flecs_ensure(world, entity, id, r).ptr; | ^~~~~~ ../src/flecs/distr/flecs.c:8088:19: note: crosses initialization of ‘ecs_record_t* r’ 8088 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8082:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8082 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void* ecs_ensure_modified_id(ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:8112:1: error: jump to label ‘error’ 8112 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8106:5: note: in expansion of macro ‘ecs_check’ 8106 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8108:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8108 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8112:1: error: jump to label ‘error’ 8112 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8105:5: note: in expansion of macro ‘ecs_check’ 8105 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8108:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8108 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8112:1: error: jump to label ‘error’ 8112 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8104:5: note: in expansion of macro ‘ecs_check’ 8104 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8108:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8108 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_record_t* flecs_access_begin(ecs_world_t*, ecs_entity_t, bool)’: ../src/flecs/distr/flecs.c:8140:1: error: jump to label ‘error’ 8140 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8122:5: note: in expansion of macro ‘ecs_check’ 8122 | ecs_check(ecs_os_has_threading(), ECS_MISSING_OS_API, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8133:13: note: crosses initialization of ‘int32_t count’ 8133 | int32_t count = ecs_os_ainc(&table->_->lock); | ^~~~~ ../src/flecs/distr/flecs.c:8125:19: note: crosses initialization of ‘ecs_record_t* r’ 8125 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8124:24: note: crosses initialization of ‘const ecs_world_t* world’ 8124 | const ecs_world_t *world = ecs_get_world(stage); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_access_end(const ecs_record_t*, bool)’: ../src/flecs/distr/flecs.c:8159:1: error: jump to label ‘error’ 8159 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8151:5: note: in expansion of macro ‘ecs_check’ 8151 | ecs_check(r->table != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8152:13: note: crosses initialization of ‘int32_t count’ 8152 | int32_t count = ecs_os_adec(&r->table->_->lock); | ^~~~~ ../src/flecs/distr/flecs.c:8159:1: error: jump to label ‘error’ 8159 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8150:5: note: in expansion of macro ‘ecs_check’ 8150 | ecs_check(r != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8152:13: note: crosses initialization of ‘int32_t count’ 8152 | int32_t count = ecs_os_adec(&r->table->_->lock); | ^~~~~ ../src/flecs/distr/flecs.c:8159:1: error: jump to label ‘error’ 8159 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8149:5: note: in expansion of macro ‘ecs_check’ 8149 | ecs_check(ecs_os_has_threading(), ECS_MISSING_OS_API, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8152:13: note: crosses initialization of ‘int32_t count’ 8152 | int32_t count = ecs_os_adec(&r->table->_->lock); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_record_get_entity(const ecs_record_t*)’: ../src/flecs/distr/flecs.c:8199:1: error: jump to label ‘error’ 8199 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8192:5: note: in expansion of macro ‘ecs_check’ 8192 | ecs_check(record != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8193:18: note: crosses initialization of ‘ecs_table_t* table’ 8193 | ecs_table_t *table = record->table; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_ref_t ecs_ref_init_id(const ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:8262:1: error: jump to label ‘error’ 8262 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8246:5: note: in expansion of macro ‘ecs_check’ 8246 | ecs_check(record != NULL, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8255:18: note: crosses initialization of ‘ecs_table_t* table’ 8255 | ecs_table_t *table = record->table; | ^~~~~ ../src/flecs/distr/flecs.c:8249:15: note: crosses initialization of ‘ecs_ref_t result’ 8249 | ecs_ref_t result = { | ^~~~~~ ../src/flecs/distr/flecs.c:8262:1: error: jump to label ‘error’ 8262 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8241:5: note: in expansion of macro ‘ecs_check’ 8241 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8255:18: note: crosses initialization of ‘ecs_table_t* table’ 8255 | ecs_table_t *table = record->table; | ^~~~~ ../src/flecs/distr/flecs.c:8249:15: note: crosses initialization of ‘ecs_ref_t result’ 8249 | ecs_ref_t result = { | ^~~~~~ ../src/flecs/distr/flecs.c:8245:19: note: crosses initialization of ‘ecs_record_t* record’ 8245 | ecs_record_t *record = flecs_entities_get(world, entity); | ^~~~~~ ../src/flecs/distr/flecs.c:8262:1: error: jump to label ‘error’ 8262 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8240:5: note: in expansion of macro ‘ecs_check’ 8240 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8255:18: note: crosses initialization of ‘ecs_table_t* table’ 8255 | ecs_table_t *table = record->table; | ^~~~~ ../src/flecs/distr/flecs.c:8249:15: note: crosses initialization of ‘ecs_ref_t result’ 8249 | ecs_ref_t result = { | ^~~~~~ ../src/flecs/distr/flecs.c:8245:19: note: crosses initialization of ‘ecs_record_t* record’ 8245 | ecs_record_t *record = flecs_entities_get(world, entity); | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_ref_update(const ecs_world_t*, ecs_ref_t*)’: ../src/flecs/distr/flecs.c:8303:1: error: jump to label ‘error’ 8303 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8285:5: note: in expansion of macro ‘ecs_check’ 8285 | ecs_check(ref->record != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8293:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8293 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8288:18: note: crosses initialization of ‘ecs_table_t* table’ 8288 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8287:19: note: crosses initialization of ‘ecs_record_t* r’ 8287 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8303:1: error: jump to label ‘error’ 8303 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8284:5: note: in expansion of macro ‘ecs_check’ 8284 | ecs_check(ref->id != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8293:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8293 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8288:18: note: crosses initialization of ‘ecs_table_t* table’ 8288 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8287:19: note: crosses initialization of ‘ecs_record_t* r’ 8287 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8303:1: error: jump to label ‘error’ 8303 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8283:5: note: in expansion of macro ‘ecs_check’ 8283 | ecs_check(ref->entity != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8293:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8293 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8288:18: note: crosses initialization of ‘ecs_table_t* table’ 8288 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8287:19: note: crosses initialization of ‘ecs_record_t* r’ 8287 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8303:1: error: jump to label ‘error’ 8303 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8282:5: note: in expansion of macro ‘ecs_check’ 8282 | ecs_check(ref != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8293:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8293 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8288:18: note: crosses initialization of ‘ecs_table_t* table’ 8288 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8287:19: note: crosses initialization of ‘ecs_record_t* r’ 8287 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8303:1: error: jump to label ‘error’ 8303 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8281:5: note: in expansion of macro ‘ecs_check’ 8281 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8293:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8293 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8288:18: note: crosses initialization of ‘ecs_table_t* table’ 8288 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8287:19: note: crosses initialization of ‘ecs_record_t* r’ 8287 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c: In function ‘void* ecs_ref_get_id(const ecs_world_t*, ecs_ref_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:8343:46: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 8343 | return flecs_sparse_get_any(idr->sparse, 0, ref->entity); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:8347:1: error: jump to label ‘error’ 8347 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8326:5: note: in expansion of macro ‘ecs_check’ 8326 | ecs_check(row < ecs_table_count(table), ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8339:13: note: crosses initialization of ‘int32_t column’ 8339 | int32_t column = tr->column; | ^~~~~~ ../src/flecs/distr/flecs.c:8328:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8328 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8347:1: error: jump to label ‘error’ 8347 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8317:5: note: in expansion of macro ‘ecs_check’ 8317 | ecs_check(id == ref->id, ECS_INVALID_PARAMETER, "ref not initialized"); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8339:13: note: crosses initialization of ‘int32_t column’ 8339 | int32_t column = tr->column; | ^~~~~~ ../src/flecs/distr/flecs.c:8328:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8328 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8325:13: note: crosses initialization of ‘int32_t row’ 8325 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8320:18: note: crosses initialization of ‘ecs_table_t* table’ 8320 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8319:19: note: crosses initialization of ‘ecs_record_t* r’ 8319 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8347:1: error: jump to label ‘error’ 8347 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8316:5: note: in expansion of macro ‘ecs_check’ 8316 | ecs_check(ref->record != NULL, ECS_INVALID_PARAMETER, "ref not initialized"); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8339:13: note: crosses initialization of ‘int32_t column’ 8339 | int32_t column = tr->column; | ^~~~~~ ../src/flecs/distr/flecs.c:8328:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8328 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8325:13: note: crosses initialization of ‘int32_t row’ 8325 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8320:18: note: crosses initialization of ‘ecs_table_t* table’ 8320 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8319:19: note: crosses initialization of ‘ecs_record_t* r’ 8319 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8347:1: error: jump to label ‘error’ 8347 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8315:5: note: in expansion of macro ‘ecs_check’ 8315 | ecs_check(ref->id != 0, ECS_INVALID_PARAMETER, "ref not initialized"); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8339:13: note: crosses initialization of ‘int32_t column’ 8339 | int32_t column = tr->column; | ^~~~~~ ../src/flecs/distr/flecs.c:8328:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8328 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8325:13: note: crosses initialization of ‘int32_t row’ 8325 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8320:18: note: crosses initialization of ‘ecs_table_t* table’ 8320 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8319:19: note: crosses initialization of ‘ecs_record_t* r’ 8319 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8347:1: error: jump to label ‘error’ 8347 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8314:5: note: in expansion of macro ‘ecs_check’ 8314 | ecs_check(ref->entity != 0, ECS_INVALID_PARAMETER, "ref not initialized"); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8339:13: note: crosses initialization of ‘int32_t column’ 8339 | int32_t column = tr->column; | ^~~~~~ ../src/flecs/distr/flecs.c:8328:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8328 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8325:13: note: crosses initialization of ‘int32_t row’ 8325 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8320:18: note: crosses initialization of ‘ecs_table_t* table’ 8320 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8319:19: note: crosses initialization of ‘ecs_record_t* r’ 8319 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8347:1: error: jump to label ‘error’ 8347 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8313:5: note: in expansion of macro ‘ecs_check’ 8313 | ecs_check(ref != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8339:13: note: crosses initialization of ‘int32_t column’ 8339 | int32_t column = tr->column; | ^~~~~~ ../src/flecs/distr/flecs.c:8328:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8328 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8325:13: note: crosses initialization of ‘int32_t row’ 8325 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8320:18: note: crosses initialization of ‘ecs_table_t* table’ 8320 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8319:19: note: crosses initialization of ‘ecs_record_t* r’ 8319 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c:8347:1: error: jump to label ‘error’ 8347 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8312:5: note: in expansion of macro ‘ecs_check’ 8312 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8339:13: note: crosses initialization of ‘int32_t column’ 8339 | int32_t column = tr->column; | ^~~~~~ ../src/flecs/distr/flecs.c:8328:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 8328 | ecs_table_record_t *tr = ref->tr; | ^~ ../src/flecs/distr/flecs.c:8325:13: note: crosses initialization of ‘int32_t row’ 8325 | int32_t row = ECS_RECORD_TO_ROW(r->row); | ^~~ ../src/flecs/distr/flecs.c:8320:18: note: crosses initialization of ‘ecs_table_t* table’ 8320 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8319:19: note: crosses initialization of ‘ecs_record_t* r’ 8319 | ecs_record_t *r = ref->record; | ^ ../src/flecs/distr/flecs.c: In function ‘void* ecs_emplace_id(ecs_world_t*, ecs_entity_t, ecs_id_t, bool*)’: ../src/flecs/distr/flecs.c:8387:1: error: jump to label ‘error’ 8387 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8368:5: note: in expansion of macro ‘ecs_check’ 8368 | ecs_check(is_new || !ecs_has_id(world, entity, id), ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8377:11: note: crosses initialization of ‘void* ptr’ 8377 | void *ptr = flecs_get_component(r->table, ECS_RECORD_TO_ROW(r->row), idr); | ^~~ ../src/flecs/distr/flecs.c:8376:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8376 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:8372:18: note: crosses initialization of ‘ecs_table_t* table’ 8372 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8371:19: note: crosses initialization of ‘ecs_record_t* r’ 8371 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8387:1: error: jump to label ‘error’ 8387 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8359:5: note: in expansion of macro ‘ecs_check’ 8359 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8377:11: note: crosses initialization of ‘void* ptr’ 8377 | void *ptr = flecs_get_component(r->table, ECS_RECORD_TO_ROW(r->row), idr); | ^~~ ../src/flecs/distr/flecs.c:8376:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8376 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:8372:18: note: crosses initialization of ‘ecs_table_t* table’ 8372 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8371:19: note: crosses initialization of ‘ecs_record_t* r’ 8371 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8361:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8361 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8387:1: error: jump to label ‘error’ 8387 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8358:5: note: in expansion of macro ‘ecs_check’ 8358 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8377:11: note: crosses initialization of ‘void* ptr’ 8377 | void *ptr = flecs_get_component(r->table, ECS_RECORD_TO_ROW(r->row), idr); | ^~~ ../src/flecs/distr/flecs.c:8376:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8376 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:8372:18: note: crosses initialization of ‘ecs_table_t* table’ 8372 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8371:19: note: crosses initialization of ‘ecs_record_t* r’ 8371 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8361:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8361 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8387:1: error: jump to label ‘error’ 8387 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8357:5: note: in expansion of macro ‘ecs_check’ 8357 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8377:11: note: crosses initialization of ‘void* ptr’ 8377 | void *ptr = flecs_get_component(r->table, ECS_RECORD_TO_ROW(r->row), idr); | ^~~ ../src/flecs/distr/flecs.c:8376:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8376 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:8372:18: note: crosses initialization of ‘ecs_table_t* table’ 8372 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8371:19: note: crosses initialization of ‘ecs_record_t* r’ 8371 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8361:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8361 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_modified_id_if(ecs_world_t*, ecs_entity_t, ecs_id_t, bool)’: ../src/flecs/distr/flecs.c:8420:1: error: jump to label ‘error’ 8420 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8400:5: note: in expansion of macro ‘ecs_check’ 8400 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8415:16: note: crosses initialization of ‘ecs_type_t ids’ 8415 | ecs_type_t ids = { .array = &id, .count = 1 }; | ^~~ ../src/flecs/distr/flecs.c:8409:18: note: crosses initialization of ‘ecs_table_t* table’ 8409 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8408:19: note: crosses initialization of ‘ecs_record_t* r’ 8408 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8402:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8402 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8420:1: error: jump to label ‘error’ 8420 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8399:5: note: in expansion of macro ‘ecs_check’ 8399 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8415:16: note: crosses initialization of ‘ecs_type_t ids’ 8415 | ecs_type_t ids = { .array = &id, .count = 1 }; | ^~~ ../src/flecs/distr/flecs.c:8409:18: note: crosses initialization of ‘ecs_table_t* table’ 8409 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8408:19: note: crosses initialization of ‘ecs_record_t* r’ 8408 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8402:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8402 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8420:1: error: jump to label ‘error’ 8420 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8398:5: note: in expansion of macro ‘ecs_check’ 8398 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8415:16: note: crosses initialization of ‘ecs_type_t ids’ 8415 | ecs_type_t ids = { .array = &id, .count = 1 }; | ^~~ ../src/flecs/distr/flecs.c:8409:18: note: crosses initialization of ‘ecs_table_t* table’ 8409 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8408:19: note: crosses initialization of ‘ecs_record_t* r’ 8408 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8402:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8402 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_modified_id(ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:8452:1: error: jump to label ‘error’ 8452 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8443:5: note: in expansion of macro ‘ecs_check’ 8443 | ecs_check(ecs_has_id(world, entity, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8447:16: note: crosses initialization of ‘ecs_type_t ids’ 8447 | ecs_type_t ids = { .array = &id, .count = 1 }; | ^~~ ../src/flecs/distr/flecs.c:8446:18: note: crosses initialization of ‘ecs_table_t* table’ 8446 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8445:19: note: crosses initialization of ‘ecs_record_t* r’ 8445 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8452:1: error: jump to label ‘error’ 8452 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8431:5: note: in expansion of macro ‘ecs_check’ 8431 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8447:16: note: crosses initialization of ‘ecs_type_t ids’ 8447 | ecs_type_t ids = { .array = &id, .count = 1 }; | ^~~ ../src/flecs/distr/flecs.c:8446:18: note: crosses initialization of ‘ecs_table_t* table’ 8446 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8445:19: note: crosses initialization of ‘ecs_record_t* r’ 8445 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8433:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8433 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8452:1: error: jump to label ‘error’ 8452 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8430:5: note: in expansion of macro ‘ecs_check’ 8430 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8447:16: note: crosses initialization of ‘ecs_type_t ids’ 8447 | ecs_type_t ids = { .array = &id, .count = 1 }; | ^~~ ../src/flecs/distr/flecs.c:8446:18: note: crosses initialization of ‘ecs_table_t* table’ 8446 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8445:19: note: crosses initialization of ‘ecs_record_t* r’ 8445 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8433:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8433 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8452:1: error: jump to label ‘error’ 8452 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8429:5: note: in expansion of macro ‘ecs_check’ 8429 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8447:16: note: crosses initialization of ‘ecs_type_t ids’ 8447 | ecs_type_t ids = { .array = &id, .count = 1 }; | ^~~ ../src/flecs/distr/flecs.c:8446:18: note: crosses initialization of ‘ecs_table_t* table’ 8446 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8445:19: note: crosses initialization of ‘ecs_record_t* r’ 8445 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8433:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8433 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_set_id_move(ecs_world_t*, ecs_stage_t*, ecs_entity_t, ecs_id_t, size_t, void*, ecs_cmd_kind_t)’: ../src/flecs/distr/flecs.c:8526:1: error: jump to label ‘error’ 8526 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8497:5: note: in expansion of macro ‘ecs_check’ 8497 | ecs_check(dst.ptr != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8499:28: note: crosses initialization of ‘const ecs_type_info_t* ti’ 8499 | const ecs_type_info_t *ti = dst.ti; | ^~ ../src/flecs/distr/flecs.c: In function ‘void ecs_set_id(ecs_world_t*, ecs_entity_t, ecs_id_t, size_t, const void*)’: ../src/flecs/distr/flecs.c:8546:1: error: jump to label ‘error’ 8546 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8539:5: note: in expansion of macro ‘ecs_check’ 8539 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8541:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8541 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8546:1: error: jump to label ‘error’ 8546 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8538:5: note: in expansion of macro ‘ecs_check’ 8538 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8541:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8541 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:8546:1: error: jump to label ‘error’ 8546 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8537:5: note: in expansion of macro ‘ecs_check’ 8537 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8541:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8541 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_enable_id(ecs_world_t*, ecs_entity_t, ecs_id_t, bool)’: ../src/flecs/distr/flecs.c:8610:1: error: jump to label ‘error’ 8610 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8576:5: note: in expansion of macro ‘ecs_check’ 8576 | ecs_check(flecs_can_toggle(world, id), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8604:19: note: crosses initialization of ‘ecs_bitset_t* bs’ 8604 | ecs_bitset_t *bs = &table->_->bs_columns[index]; | ^~ ../src/flecs/distr/flecs.c:8587:13: note: crosses initialization of ‘int32_t index’ 8587 | int32_t index = -1; | ^~~~~ ../src/flecs/distr/flecs.c:8586:18: note: crosses initialization of ‘ecs_table_t* table’ 8586 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8584:18: note: crosses initialization of ‘ecs_entity_t bs_id’ 8584 | ecs_entity_t bs_id = id | ECS_TOGGLE; | ^~~~~ ../src/flecs/distr/flecs.c:8583:19: note: crosses initialization of ‘ecs_record_t* r’ 8583 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8610:1: error: jump to label ‘error’ 8610 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8575:5: note: in expansion of macro ‘ecs_check’ 8575 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8604:19: note: crosses initialization of ‘ecs_bitset_t* bs’ 8604 | ecs_bitset_t *bs = &table->_->bs_columns[index]; | ^~ ../src/flecs/distr/flecs.c:8587:13: note: crosses initialization of ‘int32_t index’ 8587 | int32_t index = -1; | ^~~~~ ../src/flecs/distr/flecs.c:8586:18: note: crosses initialization of ‘ecs_table_t* table’ 8586 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8584:18: note: crosses initialization of ‘ecs_entity_t bs_id’ 8584 | ecs_entity_t bs_id = id | ECS_TOGGLE; | ^~~~~ ../src/flecs/distr/flecs.c:8583:19: note: crosses initialization of ‘ecs_record_t* r’ 8583 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8610:1: error: jump to label ‘error’ 8610 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8574:5: note: in expansion of macro ‘ecs_check’ 8574 | ecs_check(ecs_is_valid(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8604:19: note: crosses initialization of ‘ecs_bitset_t* bs’ 8604 | ecs_bitset_t *bs = &table->_->bs_columns[index]; | ^~ ../src/flecs/distr/flecs.c:8587:13: note: crosses initialization of ‘int32_t index’ 8587 | int32_t index = -1; | ^~~~~ ../src/flecs/distr/flecs.c:8586:18: note: crosses initialization of ‘ecs_table_t* table’ 8586 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8584:18: note: crosses initialization of ‘ecs_entity_t bs_id’ 8584 | ecs_entity_t bs_id = id | ECS_TOGGLE; | ^~~~~ ../src/flecs/distr/flecs.c:8583:19: note: crosses initialization of ‘ecs_record_t* r’ 8583 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8610:1: error: jump to label ‘error’ 8610 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8571:5: note: in expansion of macro ‘ecs_check’ 8571 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8604:19: note: crosses initialization of ‘ecs_bitset_t* bs’ 8604 | ecs_bitset_t *bs = &table->_->bs_columns[index]; | ^~ ../src/flecs/distr/flecs.c:8587:13: note: crosses initialization of ‘int32_t index’ 8587 | int32_t index = -1; | ^~~~~ ../src/flecs/distr/flecs.c:8586:18: note: crosses initialization of ‘ecs_table_t* table’ 8586 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8584:18: note: crosses initialization of ‘ecs_entity_t bs_id’ 8584 | ecs_entity_t bs_id = id | ECS_TOGGLE; | ^~~~~ ../src/flecs/distr/flecs.c:8583:19: note: crosses initialization of ‘ecs_record_t* r’ 8583 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8572:18: note: crosses initialization of ‘ecs_stage_t* stage’ 8572 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_is_enabled_id(const ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:8647:1: error: jump to label ‘error’ 8647 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8621:5: note: in expansion of macro ‘ecs_check’ 8621 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8644:19: note: crosses initialization of ‘ecs_bitset_t* bs’ 8644 | ecs_bitset_t *bs = &table->_->bs_columns[index]; | ^~ ../src/flecs/distr/flecs.c:8634:13: note: crosses initialization of ‘int32_t index’ 8634 | int32_t index = ecs_table_get_type_index(world, table, bs_id); | ^~~~~ ../src/flecs/distr/flecs.c:8633:18: note: crosses initialization of ‘ecs_entity_t bs_id’ 8633 | ecs_entity_t bs_id = id | ECS_TOGGLE; | ^~~~~ ../src/flecs/distr/flecs.c:8628:18: note: crosses initialization of ‘ecs_table_t* table’ 8628 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8626:19: note: crosses initialization of ‘ecs_record_t* r’ 8626 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8647:1: error: jump to label ‘error’ 8647 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8620:5: note: in expansion of macro ‘ecs_check’ 8620 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8644:19: note: crosses initialization of ‘ecs_bitset_t* bs’ 8644 | ecs_bitset_t *bs = &table->_->bs_columns[index]; | ^~ ../src/flecs/distr/flecs.c:8634:13: note: crosses initialization of ‘int32_t index’ 8634 | int32_t index = ecs_table_get_type_index(world, table, bs_id); | ^~~~~ ../src/flecs/distr/flecs.c:8633:18: note: crosses initialization of ‘ecs_entity_t bs_id’ 8633 | ecs_entity_t bs_id = id | ECS_TOGGLE; | ^~~~~ ../src/flecs/distr/flecs.c:8628:18: note: crosses initialization of ‘ecs_table_t* table’ 8628 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8626:19: note: crosses initialization of ‘ecs_record_t* r’ 8626 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8647:1: error: jump to label ‘error’ 8647 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8619:5: note: in expansion of macro ‘ecs_check’ 8619 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8644:19: note: crosses initialization of ‘ecs_bitset_t* bs’ 8644 | ecs_bitset_t *bs = &table->_->bs_columns[index]; | ^~ ../src/flecs/distr/flecs.c:8634:13: note: crosses initialization of ‘int32_t index’ 8634 | int32_t index = ecs_table_get_type_index(world, table, bs_id); | ^~~~~ ../src/flecs/distr/flecs.c:8633:18: note: crosses initialization of ‘ecs_entity_t bs_id’ 8633 | ecs_entity_t bs_id = id | ECS_TOGGLE; | ^~~~~ ../src/flecs/distr/flecs.c:8628:18: note: crosses initialization of ‘ecs_table_t* table’ 8628 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8626:19: note: crosses initialization of ‘ecs_record_t* r’ 8626 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c: In function ‘bool ecs_has_id(const ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:8692:52: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 8692 | uint64_t cur = flecs_switch_get(u_idr->sparse, (uint32_t)entity); | ~~~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1925:25: note: initializing argument 1 of ‘uint64_t flecs_switch_get(const ecs_switch_t*, uint32_t)’ 1925 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c:8705:1: error: jump to label ‘error’ 8705 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8658:5: note: in expansion of macro ‘ecs_check’ 8658 | ecs_check(id != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8698:13: note: crosses initialization of ‘int32_t column’ 8698 | int32_t column = ecs_search_relation(world, table, 0, id, | ^~~~~~ ../src/flecs/distr/flecs.c:8665:18: note: crosses initialization of ‘ecs_table_t* table’ 8665 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8663:19: note: crosses initialization of ‘ecs_record_t* r’ 8663 | ecs_record_t *r = flecs_entities_get_any(world, entity); | ^ ../src/flecs/distr/flecs.c:8705:1: error: jump to label ‘error’ 8705 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8657:5: note: in expansion of macro ‘ecs_check’ 8657 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8698:13: note: crosses initialization of ‘int32_t column’ 8698 | int32_t column = ecs_search_relation(world, table, 0, id, | ^~~~~~ ../src/flecs/distr/flecs.c:8665:18: note: crosses initialization of ‘ecs_table_t* table’ 8665 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8663:19: note: crosses initialization of ‘ecs_record_t* r’ 8663 | ecs_record_t *r = flecs_entities_get_any(world, entity); | ^ ../src/flecs/distr/flecs.c:8705:1: error: jump to label ‘error’ 8705 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8656:5: note: in expansion of macro ‘ecs_check’ 8656 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8698:13: note: crosses initialization of ‘int32_t column’ 8698 | int32_t column = ecs_search_relation(world, table, 0, id, | ^~~~~~ ../src/flecs/distr/flecs.c:8665:18: note: crosses initialization of ‘ecs_table_t* table’ 8665 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8663:19: note: crosses initialization of ‘ecs_record_t* r’ 8663 | ecs_record_t *r = flecs_entities_get_any(world, entity); | ^ ../src/flecs/distr/flecs.c: In function ‘bool ecs_owns_id(const ecs_world_t*, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:8740:1: error: jump to label ‘error’ 8740 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8716:5: note: in expansion of macro ‘ecs_check’ 8716 | ecs_check(id != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8723:18: note: crosses initialization of ‘ecs_table_t* table’ 8723 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8721:19: note: crosses initialization of ‘ecs_record_t* r’ 8721 | ecs_record_t *r = flecs_entities_get_any(world, entity); | ^ ../src/flecs/distr/flecs.c:8740:1: error: jump to label ‘error’ 8740 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8715:5: note: in expansion of macro ‘ecs_check’ 8715 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8723:18: note: crosses initialization of ‘ecs_table_t* table’ 8723 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8721:19: note: crosses initialization of ‘ecs_record_t* r’ 8721 | ecs_record_t *r = flecs_entities_get_any(world, entity); | ^ ../src/flecs/distr/flecs.c:8740:1: error: jump to label ‘error’ 8740 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8714:5: note: in expansion of macro ‘ecs_check’ 8714 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8723:18: note: crosses initialization of ‘ecs_table_t* table’ 8723 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8721:19: note: crosses initialization of ‘ecs_record_t* r’ 8721 | ecs_record_t *r = flecs_entities_get_any(world, entity); | ^ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_get_target(const ecs_world_t*, ecs_entity_t, ecs_entity_t, int32_t)’: ../src/flecs/distr/flecs.c:8789:43: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 8789 | result = flecs_switch_get(wc_idr->sparse, (uint32_t)entity); | ~~~~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1925:25: note: initializing argument 1 of ‘uint64_t flecs_switch_get(const ecs_switch_t*, uint32_t)’ 1925 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c:8793:1: error: jump to label ‘look_in_base’ 8793 | look_in_base: | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8779:14: note: from here 8779 | goto look_in_base; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8782:18: note: crosses initialization of ‘ecs_entity_t result’ 8782 | ecs_entity_t result = | ^~~~~~ ../src/flecs/distr/flecs.c:8793:1: error: jump to label ‘look_in_base’ 8793 | look_in_base: | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8771:18: note: from here 8771 | goto look_in_base; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8782:18: note: crosses initialization of ‘ecs_entity_t result’ 8782 | ecs_entity_t result = | ^~~~~~ ../src/flecs/distr/flecs.c:8812:1: error: jump to label ‘not_found’ 8812 | not_found: | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8760:14: note: from here 8760 | goto not_found; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8782:18: note: crosses initialization of ‘ecs_entity_t result’ 8782 | ecs_entity_t result = | ^~~~~~ ../src/flecs/distr/flecs.c:8765:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 8765 | const ecs_table_record_t *tr = NULL; | ^~ ../src/flecs/distr/flecs.c:8764:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8764 | ecs_id_record_t *idr = flecs_id_record_get(world, wc); | ^~~ ../src/flecs/distr/flecs.c:8763:14: note: crosses initialization of ‘ecs_id_t wc’ 8763 | ecs_id_t wc = ecs_pair(rel, EcsWildcard); | ^~ ../src/flecs/distr/flecs.c:8813:1: error: jump to label ‘error’ 8813 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8752:5: note: in expansion of macro ‘ecs_check’ 8752 | ecs_check(rel != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8782:18: note: crosses initialization of ‘ecs_entity_t result’ 8782 | ecs_entity_t result = | ^~~~~~ ../src/flecs/distr/flecs.c:8765:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 8765 | const ecs_table_record_t *tr = NULL; | ^~ ../src/flecs/distr/flecs.c:8764:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8764 | ecs_id_record_t *idr = flecs_id_record_get(world, wc); | ^~~ ../src/flecs/distr/flecs.c:8763:14: note: crosses initialization of ‘ecs_id_t wc’ 8763 | ecs_id_t wc = ecs_pair(rel, EcsWildcard); | ^~ ../src/flecs/distr/flecs.c:8758:18: note: crosses initialization of ‘ecs_table_t* table’ 8758 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8756:19: note: crosses initialization of ‘ecs_record_t* r’ 8756 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8813:1: error: jump to label ‘error’ 8813 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8751:5: note: in expansion of macro ‘ecs_check’ 8751 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8782:18: note: crosses initialization of ‘ecs_entity_t result’ 8782 | ecs_entity_t result = | ^~~~~~ ../src/flecs/distr/flecs.c:8765:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 8765 | const ecs_table_record_t *tr = NULL; | ^~ ../src/flecs/distr/flecs.c:8764:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8764 | ecs_id_record_t *idr = flecs_id_record_get(world, wc); | ^~~ ../src/flecs/distr/flecs.c:8763:14: note: crosses initialization of ‘ecs_id_t wc’ 8763 | ecs_id_t wc = ecs_pair(rel, EcsWildcard); | ^~ ../src/flecs/distr/flecs.c:8758:18: note: crosses initialization of ‘ecs_table_t* table’ 8758 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8756:19: note: crosses initialization of ‘ecs_record_t* r’ 8756 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:8813:1: error: jump to label ‘error’ 8813 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8750:5: note: in expansion of macro ‘ecs_check’ 8750 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8782:18: note: crosses initialization of ‘ecs_entity_t result’ 8782 | ecs_entity_t result = | ^~~~~~ ../src/flecs/distr/flecs.c:8765:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 8765 | const ecs_table_record_t *tr = NULL; | ^~ ../src/flecs/distr/flecs.c:8764:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 8764 | ecs_id_record_t *idr = flecs_id_record_get(world, wc); | ^~~ ../src/flecs/distr/flecs.c:8763:14: note: crosses initialization of ‘ecs_id_t wc’ 8763 | ecs_id_t wc = ecs_pair(rel, EcsWildcard); | ^~ ../src/flecs/distr/flecs.c:8758:18: note: crosses initialization of ‘ecs_table_t* table’ 8758 | ecs_table_t *table = r->table; | ^~~~~ ../src/flecs/distr/flecs.c:8756:19: note: crosses initialization of ‘ecs_record_t* r’ 8756 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_get_target_for_id(const ecs_world_t*, ecs_entity_t, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.c:8875:1: error: jump to label ‘error’ 8875 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8831:5: note: in expansion of macro ‘ecs_check’ 8831 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8840:18: note: crosses initialization of ‘ecs_entity_t subject’ 8840 | ecs_entity_t subject = 0; | ^~~~~~~ ../src/flecs/distr/flecs.c:8839:18: note: crosses initialization of ‘ecs_table_t* table’ 8839 | ecs_table_t *table = ecs_get_table(world, entity); | ^~~~~ ../src/flecs/distr/flecs.c:8875:1: error: jump to label ‘error’ 8875 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8830:5: note: in expansion of macro ‘ecs_check’ 8830 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8840:18: note: crosses initialization of ‘ecs_entity_t subject’ 8840 | ecs_entity_t subject = 0; | ^~~~~~~ ../src/flecs/distr/flecs.c:8839:18: note: crosses initialization of ‘ecs_table_t* table’ 8839 | ecs_table_t *table = ecs_get_table(world, entity); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_get_depth(const ecs_world_t*, ecs_entity_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:8895:1: error: jump to label ‘error’ 8895 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8885:5: note: in expansion of macro ‘ecs_check’ 8885 | ecs_check(ecs_has_id(world, rel, EcsAcyclic), ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8889:18: note: crosses initialization of ‘ecs_table_t* table’ 8889 | ecs_table_t *table = ecs_get_table(world, entity); | ^~~~~ ../src/flecs/distr/flecs.c:8895:1: error: jump to label ‘error’ 8895 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8884:5: note: in expansion of macro ‘ecs_check’ 8884 | ecs_check(ecs_is_valid(world, rel), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8889:18: note: crosses initialization of ‘ecs_table_t* table’ 8889 | ecs_table_t *table = ecs_get_table(world, entity); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* flecs_get_identifier(const ecs_world_t*, ecs_entity_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:8916:1: error: jump to label ‘error’ 8916 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8906:5: note: in expansion of macro ‘ecs_check’ 8906 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8908:26: note: crosses initialization of ‘const EcsIdentifier* ptr’ 8908 | const EcsIdentifier *ptr = ecs_get_pair( | ^~~ ../src/flecs/distr/flecs.c:8916:1: error: jump to label ‘error’ 8916 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8905:5: note: in expansion of macro ‘ecs_check’ 8905 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8908:26: note: crosses initialization of ‘const EcsIdentifier* ptr’ 8908 | const EcsIdentifier *ptr = ecs_get_pair( | ^~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t flecs_set_identifier(ecs_world_t*, ecs_stage_t*, ecs_entity_t, ecs_entity_t, const char*)’: ../src/flecs/distr/flecs.c:8974:1: error: jump to label ‘error’ 8974 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8948:5: note: in expansion of macro ‘ecs_check’ 8948 | ecs_check(entity != 0 || name != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8959:20: note: crosses initialization of ‘EcsIdentifier* ptr’ 8959 | EcsIdentifier *ptr = ecs_ensure_pair(world, entity, EcsIdentifier, tag); | ^~~ ../src/flecs/distr/flecs.c:8974:1: error: jump to label ‘error’ 8974 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:8947:5: note: in expansion of macro ‘ecs_check’ 8947 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:8959:20: note: crosses initialization of ‘EcsIdentifier* ptr’ 8959 | EcsIdentifier *ptr = ecs_ensure_pair(world, entity, EcsIdentifier, tag); | ^~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_set_name(ecs_world_t*, ecs_entity_t, const char*)’: ../src/flecs/distr/flecs.c:8984:34: error: taking address of rvalue [-fpermissive] 8984 | return ecs_entity(world, { | ^ 8985 | .name = name | ~~~~~~~~~~~~ 8986 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_get_alive(const ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:9101:1: error: jump to label ‘error’ 9101 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9076:5: note: in expansion of macro ‘ecs_check’ 9076 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9095:18: note: crosses initialization of ‘ecs_entity_t current’ 9095 | ecs_entity_t current = flecs_entities_get_alive(world, entity); | ^~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_make_alive(ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:9145:1: error: jump to label ‘error’ 9145 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9110:5: note: in expansion of macro ‘ecs_check’ 9110 | ecs_check(entity != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9122:18: note: crosses initialization of ‘ecs_entity_t any’ 9122 | ecs_entity_t any = ecs_get_alive(world, (uint32_t)entity); | ^~~ ../src/flecs/distr/flecs.c: In function ‘ecs_table_t* ecs_get_table(const ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:9224:1: error: jump to label ‘error’ 9224 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9217:5: note: in expansion of macro ‘ecs_check’ 9217 | ecs_check(ecs_is_valid(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9221:19: note: crosses initialization of ‘ecs_record_t* record’ 9221 | ecs_record_t *record = flecs_entities_get(world, entity); | ^~~~~~ ../src/flecs/distr/flecs.c:9224:1: error: jump to label ‘error’ 9224 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9216:5: note: in expansion of macro ‘ecs_check’ 9216 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9221:19: note: crosses initialization of ‘ecs_record_t* record’ 9221 | ecs_record_t *record = flecs_entities_get(world, entity); | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘const ecs_type_info_t* ecs_get_type_info(const ecs_world_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:9273:1: error: jump to label ‘error’ 9273 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9245:5: note: in expansion of macro ‘ecs_check’ 9245 | ecs_check(id != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9249:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 9249 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:9273:1: error: jump to label ‘error’ 9273 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9244:5: note: in expansion of macro ‘ecs_check’ 9244 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9249:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 9249 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_get_typeid(const ecs_world_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:9287:1: error: jump to label ‘error’ 9287 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9281:5: note: in expansion of macro ‘ecs_check’ 9281 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9282:28: note: crosses initialization of ‘const ecs_type_info_t* ti’ 9282 | const ecs_type_info_t *ti = ecs_get_type_info(world, id); | ^~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_count_id(const ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:9345:1: error: jump to label ‘error’ 9345 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9332:5: note: in expansion of macro ‘ecs_check’ 9332 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9339:16: note: crosses initialization of ‘ecs_iter_t it’ 9339 | ecs_iter_t it = ecs_each_id(world, id); | ^~ ../src/flecs/distr/flecs.c:9338:13: note: crosses initialization of ‘int32_t count’ 9338 | int32_t count = 0; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_defer_begin(ecs_world_t*)’: ../src/flecs/distr/flecs.c:9381:1: error: jump to label ‘error’ 9381 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9378:5: note: in expansion of macro ‘ecs_check’ 9378 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9379:18: note: crosses initialization of ‘ecs_stage_t* stage’ 9379 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_defer_end(ecs_world_t*)’: ../src/flecs/distr/flecs.c:9391:1: error: jump to label ‘error’ 9391 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9388:5: note: in expansion of macro ‘ecs_check’ 9388 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9389:18: note: crosses initialization of ‘ecs_stage_t* stage’ 9389 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_defer_suspend(ecs_world_t*)’: ../src/flecs/distr/flecs.c:9405:1: error: jump to label ‘error’ 9405 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9399:5: note: in expansion of macro ‘ecs_check’ 9399 | ecs_check(ecs_is_deferred(world), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9401:18: note: crosses initialization of ‘ecs_stage_t* stage’ 9401 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:9405:1: error: jump to label ‘error’ 9405 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9398:5: note: in expansion of macro ‘ecs_check’ 9398 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9401:18: note: crosses initialization of ‘ecs_stage_t* stage’ 9401 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_defer_resume(ecs_world_t*)’: ../src/flecs/distr/flecs.c:9417:1: error: jump to label ‘error’ 9417 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9412:5: note: in expansion of macro ‘ecs_check’ 9412 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9413:18: note: crosses initialization of ‘ecs_stage_t* stage’ 9413 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘char* ecs_entity_str(const ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:9557:1: error: jump to label ‘error’ 9557 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9545:5: note: in expansion of macro ‘ecs_check’ 9545 | ecs_check(ecs_is_alive(world, entity), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:9550:23: note: crosses initialization of ‘const ecs_type_t* type’ 9550 | const ecs_type_t *type = ecs_get_type(world, entity); | ^~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_discard_cmd(ecs_world_t*, ecs_cmd_t*)’: ../src/flecs/distr/flecs.c:9627:48: error: invalid conversion from ‘void*’ to ‘ecs_event_desc_t*’ [-fpermissive] 9627 | flecs_free_cmd_event(world, cmd->is._1.value); | ~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c:9602:23: note: initializing argument 2 of ‘void flecs_free_cmd_event(ecs_world_t*, ecs_event_desc_t*)’ 9602 | ecs_event_desc_t *desc) | ~~~~~~~~~~~~~~~~~~^~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_cmd_batch_for_entity(ecs_world_t*, ecs_table_diff_builder_t*, ecs_entity_t, ecs_cmd_t*, int32_t)’: ../src/flecs/distr/flecs.c:9842:41: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 9842 | ecs_id_t *ids = diff->added.array; | ~~~~~~~~~~~~^~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1233:17: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 1233 | ecs_vec_grow(allocator, vec, ECS_SIZEOF(T), elem_count) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:9878:33: note: in expansion of macro ‘ecs_vec_grow_t’ 9878 | ecs_id_t *ids = ecs_vec_grow_t(&world->allocator, | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:9910:38: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 9910 | ecs_type_t added = { diff->added.array, diff->added.count }; | ~~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘bool flecs_defer_end(ecs_world_t*, ecs_stage_t*)’: ../src/flecs/distr/flecs.c:10068:44: error: invalid conversion from ‘void*’ to ‘ecs_cmd_t*’ [-fpermissive] 10068 | ecs_cmd_t *cmds = ecs_vec_first(queue); | ~~~~~~~~~~~~~^~~~~~~ | | | void* ../src/flecs/distr/flecs.c:10207:59: error: invalid conversion from ‘void*’ to ‘const char*’ [-fpermissive] 10207 | ecs_set_name(world, e, cmd->is._1.value); | ~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c:8981:17: note: initializing argument 3 of ‘ecs_entity_t ecs_set_name(ecs_world_t*, ecs_entity_t, const char*)’ 8981 | const char *name) | ~~~~~~~~~~~~^~~~ ../src/flecs/distr/flecs.c:10215:57: error: invalid conversion from ‘void*’ to ‘ecs_event_desc_t*’ [-fpermissive] 10215 | ecs_event_desc_t *desc = cmd->is._1.value; | ~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘bool flecs_defer_purge(ecs_world_t*, ecs_stage_t*)’: ../src/flecs/distr/flecs.c:10264:44: error: invalid conversion from ‘void*’ to ‘ecs_cmd_t*’ [-fpermissive] 10264 | ecs_cmd_t *cmds = ecs_vec_first(&commands); | ~~~~~~~~~~~~~^~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘const char* flecs_path_elem(const char*, const char*, char**, ecs_size_t*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:10475:40: note: in expansion of macro ‘ecs_os_malloc’ 10475 | char *new_buffer = ecs_os_malloc(size * 2 + 1); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2613:54: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2613 | #define ecs_os_realloc(ptr, size) ecs_os_api.realloc_(ptr, size) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:10479:30: note: in expansion of macro ‘ecs_os_realloc’ 10479 | buffer = ecs_os_realloc(buffer, size * 2 + 1); | ^~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_bootstrap_hierarchy(ecs_world_t*)’: ../src/flecs/distr/flecs.c:10577:37: error: taking address of rvalue [-fpermissive] 10577 | .entity = ecs_entity(world, { .parent = EcsFlecsInternals }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:53: note: in definition of macro ‘ecs_observer’ 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:10577:19: note: in expansion of macro ‘ecs_entity’ 10577 | .entity = ecs_entity(world, { .parent = EcsFlecsInternals }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:10576:5: note: in expansion of macro ‘ecs_observer’ 10576 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_lookup_child(const ecs_world_t*, ecs_entity_t, const char*)’: ../src/flecs/distr/flecs.c:10663:1: error: jump to label ‘error’ 10663 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10643:5: note: in expansion of macro ‘ecs_check’ 10643 | ecs_check(world != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:10657:20: note: crosses initialization of ‘ecs_hashmap_t* index’ 10657 | ecs_hashmap_t *index = flecs_id_name_index_get(world, pair); | ^~~~~ ../src/flecs/distr/flecs.c:10656:14: note: crosses initialization of ‘ecs_id_t pair’ 10656 | ecs_id_t pair = ecs_childof(parent); | ^~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_lookup_symbol(const ecs_world_t*, const char*, bool, bool)’: ../src/flecs/distr/flecs.c:10697:1: error: jump to label ‘error’ 10697 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10684:5: note: in expansion of macro ‘ecs_check’ 10684 | ecs_check(world != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:10687:18: note: crosses initialization of ‘ecs_entity_t e’ 10687 | ecs_entity_t e = 0; | ^ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_lookup_path_w_sep(const ecs_world_t*, ecs_entity_t, const char*, const char*, const char*, bool)’: ../src/flecs/distr/flecs.c:10794:1: error: jump to label ‘error’ 10794 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10713:5: note: in expansion of macro ‘ecs_check’ 10713 | ecs_check(world != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:10734:25: note: crosses initialization of ‘const ecs_entity_t* lookup_path_cur’ 10734 | const ecs_entity_t *lookup_path_cur = lookup_path; | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10733:25: note: crosses initialization of ‘const ecs_entity_t* lookup_path’ 10733 | const ecs_entity_t *lookup_path = ecs_get_lookup_path(stage); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:10731:10: note: crosses initialization of ‘bool lookup_path_search’ 10731 | bool lookup_path_search = false; | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10729:13: note: crosses initialization of ‘int32_t size’ 10729 | int32_t size = ECS_NAME_BUFFER_LENGTH; | ^~~~ ../src/flecs/distr/flecs.c:10727:41: note: crosses initialization of ‘char* elem’ 10727 | char buff[ECS_NAME_BUFFER_LENGTH], *elem = buff; | ^~~~ ../src/flecs/distr/flecs.c:10717:18: note: crosses initialization of ‘ecs_entity_t e’ 10717 | ecs_entity_t e = flecs_get_builtin(path); | ^ ../src/flecs/distr/flecs.c:10714:24: note: crosses initialization of ‘const ecs_world_t* stage’ 10714 | const ecs_world_t *stage = world; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_set_scope(ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:10809:1: error: jump to label ‘error’ 10809 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10802:5: note: in expansion of macro ‘ecs_check’ 10802 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:10805:18: note: crosses initialization of ‘ecs_entity_t cur’ 10805 | ecs_entity_t cur = stage->scope; | ^~~ ../src/flecs/distr/flecs.c:10803:18: note: crosses initialization of ‘ecs_stage_t* stage’ 10803 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_get_scope(const ecs_world_t*)’: ../src/flecs/distr/flecs.c:10819:1: error: jump to label ‘error’ 10819 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10816:5: note: in expansion of macro ‘ecs_check’ 10816 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:10817:24: note: crosses initialization of ‘const ecs_stage_t* stage’ 10817 | const ecs_stage_t *stage = flecs_stage_from_readonly_world(world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t* ecs_set_lookup_path(ecs_world_t*, const ecs_entity_t*)’: ../src/flecs/distr/flecs.c:10835:1: error: jump to label ‘error’ 10835 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10827:5: note: in expansion of macro ‘ecs_check’ 10827 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:10831:19: note: crosses initialization of ‘ecs_entity_t* cur’ 10831 | ecs_entity_t *cur = ECS_CONST_CAST(ecs_entity_t*, stage->lookup_path); | ^~~ ../src/flecs/distr/flecs.c:10828:18: note: crosses initialization of ‘ecs_stage_t* stage’ 10828 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t* ecs_get_lookup_path(const ecs_world_t*)’: ../src/flecs/distr/flecs.c:10846:1: error: jump to label ‘error’ 10846 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10842:5: note: in expansion of macro ‘ecs_check’ 10842 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:10843:24: note: crosses initialization of ‘const ecs_stage_t* stage’ 10843 | const ecs_stage_t *stage = flecs_stage_from_readonly_world(world); | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_add_path_w_sep(ecs_world_t*, ecs_entity_t, ecs_entity_t, const char*, const char*, const char*)’: ../src/flecs/distr/flecs.c:10955:47: error: taking address of rvalue [-fpermissive] 10955 | e = ecs_entity(world, {0}); | ^~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:10988:1: error: jump to label ‘error’ 10988 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10899:5: note: in expansion of macro ‘ecs_check’ 10899 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:10933:11: note: crosses initialization of ‘char* name’ 10933 | char *name = NULL; | ^~~~ ../src/flecs/distr/flecs.c:10932:18: note: crosses initialization of ‘ecs_entity_t cur’ 10932 | ecs_entity_t cur = parent; | ^~~ ../src/flecs/distr/flecs.c:10929:10: note: crosses initialization of ‘bool suspend_defer’ 10929 | bool suspend_defer = ecs_is_deferred(world) && | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:10924:13: note: crosses initialization of ‘int32_t size’ 10924 | int32_t size = ECS_NAME_BUFFER_LENGTH; | ^~~~ ../src/flecs/distr/flecs.c:10923:11: note: crosses initialization of ‘char* elem’ 10923 | char *elem = buff; | ^~~~ ../src/flecs/distr/flecs.c:10922:17: note: crosses initialization of ‘const char* ptr’ 10922 | const char *ptr = path; | ^~~ ../src/flecs/distr/flecs.c:10917:10: note: crosses initialization of ‘bool root_path’ 10917 | bool root_path = flecs_is_root_path(path, prefix); | ^~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_iter_init(const ecs_world_t*, ecs_iter_t*, ecs_flags8_t)’: ../src/flecs/distr/flecs.h:1650:23: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 1650 | flecs_stack_calloc(stack, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:11178:17: note: in expansion of macro ‘flecs_stack_calloc_n’ 11178 | it->f = flecs_stack_calloc_n(stack, T, count);\ | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11222:5: note: in expansion of macro ‘INIT_CACHE’ 11222 | INIT_CACHE(it, stack, fields, ids, ecs_id_t, it->field_count); | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:1650:23: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 1650 | flecs_stack_calloc(stack, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:11178:17: note: in expansion of macro ‘flecs_stack_calloc_n’ 11178 | it->f = flecs_stack_calloc_n(stack, T, count);\ | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11223:5: note: in expansion of macro ‘INIT_CACHE’ 11223 | INIT_CACHE(it, stack, fields, sources, ecs_entity_t, it->field_count); | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:1650:23: error: invalid conversion from ‘void*’ to ‘const ecs_table_record_t**’ [-fpermissive] 1650 | flecs_stack_calloc(stack, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:11178:17: note: in expansion of macro ‘flecs_stack_calloc_n’ 11178 | it->f = flecs_stack_calloc_n(stack, T, count);\ | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11224:5: note: in expansion of macro ‘INIT_CACHE’ 11224 | INIT_CACHE(it, stack, fields, trs, ecs_table_record_t*, it->field_count); | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:1650:23: error: invalid conversion from ‘void*’ to ‘ecs_var_t*’ [-fpermissive] 1650 | flecs_stack_calloc(stack, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:11178:17: note: in expansion of macro ‘flecs_stack_calloc_n’ 11178 | it->f = flecs_stack_calloc_n(stack, T, count);\ | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11225:5: note: in expansion of macro ‘INIT_CACHE’ 11225 | INIT_CACHE(it, stack, fields, variables, ecs_var_t, it->variable_count); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void* ecs_field_w_size(const ecs_iter_t*, size_t, int8_t)’: ../src/flecs/distr/flecs.c:11312:1: error: jump to label ‘error’ 11312 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11265:5: note: in expansion of macro ‘ecs_check’ 11265 | ecs_check(!size || ecs_field_size(it, index) == size || | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11302:19: note: crosses initialization of ‘ecs_column_t* column’ 11302 | ecs_column_t *column = &table->data.columns[column_index]; | ^~~~~~ ../src/flecs/distr/flecs.c:11296:13: note: crosses initialization of ‘int32_t column_index’ 11296 | int32_t column_index = tr->column; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11281:18: note: crosses initialization of ‘ecs_entity_t src’ 11281 | ecs_entity_t src = it->sources[index]; | ^~~ ../src/flecs/distr/flecs.c:11276:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 11276 | ecs_id_record_t *idr = (ecs_id_record_t*)tr->hdr.cache; | ^~~ ../src/flecs/distr/flecs.c:11270:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11270 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c:11312:1: error: jump to label ‘error’ 11312 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11263:5: note: in expansion of macro ‘ecs_check’ 11263 | ecs_check(index < it->field_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11302:19: note: crosses initialization of ‘ecs_column_t* column’ 11302 | ecs_column_t *column = &table->data.columns[column_index]; | ^~~~~~ ../src/flecs/distr/flecs.c:11296:13: note: crosses initialization of ‘int32_t column_index’ 11296 | int32_t column_index = tr->column; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11281:18: note: crosses initialization of ‘ecs_entity_t src’ 11281 | ecs_entity_t src = it->sources[index]; | ^~~ ../src/flecs/distr/flecs.c:11276:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 11276 | ecs_id_record_t *idr = (ecs_id_record_t*)tr->hdr.cache; | ^~~ ../src/flecs/distr/flecs.c:11270:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11270 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c:11312:1: error: jump to label ‘error’ 11312 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11261:5: note: in expansion of macro ‘ecs_check’ 11261 | ecs_check(index >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11302:19: note: crosses initialization of ‘ecs_column_t* column’ 11302 | ecs_column_t *column = &table->data.columns[column_index]; | ^~~~~~ ../src/flecs/distr/flecs.c:11296:13: note: crosses initialization of ‘int32_t column_index’ 11296 | int32_t column_index = tr->column; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11281:18: note: crosses initialization of ‘ecs_entity_t src’ 11281 | ecs_entity_t src = it->sources[index]; | ^~~ ../src/flecs/distr/flecs.c:11276:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 11276 | ecs_id_record_t *idr = (ecs_id_record_t*)tr->hdr.cache; | ^~~ ../src/flecs/distr/flecs.c:11270:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11270 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c:11312:1: error: jump to label ‘error’ 11312 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11259:5: note: in expansion of macro ‘ecs_check’ 11259 | ecs_check(it->flags & EcsIterIsValid, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11302:19: note: crosses initialization of ‘ecs_column_t* column’ 11302 | ecs_column_t *column = &table->data.columns[column_index]; | ^~~~~~ ../src/flecs/distr/flecs.c:11296:13: note: crosses initialization of ‘int32_t column_index’ 11296 | int32_t column_index = tr->column; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11281:18: note: crosses initialization of ‘ecs_entity_t src’ 11281 | ecs_entity_t src = it->sources[index]; | ^~~ ../src/flecs/distr/flecs.c:11276:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 11276 | ecs_id_record_t *idr = (ecs_id_record_t*)tr->hdr.cache; | ^~~ ../src/flecs/distr/flecs.c:11270:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11270 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c: In function ‘void* ecs_field_at_w_size(const ecs_iter_t*, size_t, int8_t, int32_t)’: ../src/flecs/distr/flecs.c:11348:38: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 11348 | return flecs_sparse_get_any(idr->sparse, flecs_uto(int32_t, size), src); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:11349:1: error: jump to label ‘error’ 11349 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11328:5: note: in expansion of macro ‘ecs_check’ 11328 | ecs_check(!size || ecs_field_size(it, index) == size || | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11343:18: note: crosses initialization of ‘ecs_entity_t src’ 11343 | ecs_entity_t src = it->sources[index]; | ^~~ ../src/flecs/distr/flecs.c:11338:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 11338 | ecs_id_record_t *idr = (ecs_id_record_t*)tr->hdr.cache; | ^~~ ../src/flecs/distr/flecs.c:11332:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11332 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c:11349:1: error: jump to label ‘error’ 11349 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11326:5: note: in expansion of macro ‘ecs_check’ 11326 | ecs_check(index < it->field_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11343:18: note: crosses initialization of ‘ecs_entity_t src’ 11343 | ecs_entity_t src = it->sources[index]; | ^~~ ../src/flecs/distr/flecs.c:11338:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 11338 | ecs_id_record_t *idr = (ecs_id_record_t*)tr->hdr.cache; | ^~~ ../src/flecs/distr/flecs.c:11332:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11332 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c:11349:1: error: jump to label ‘error’ 11349 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11324:5: note: in expansion of macro ‘ecs_check’ 11324 | ecs_check(index >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11343:18: note: crosses initialization of ‘ecs_entity_t src’ 11343 | ecs_entity_t src = it->sources[index]; | ^~~ ../src/flecs/distr/flecs.c:11338:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 11338 | ecs_id_record_t *idr = (ecs_id_record_t*)tr->hdr.cache; | ^~~ ../src/flecs/distr/flecs.c:11332:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11332 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c:11349:1: error: jump to label ‘error’ 11349 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11322:5: note: in expansion of macro ‘ecs_check’ 11322 | ecs_check(it->flags & EcsIterIsValid, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11343:18: note: crosses initialization of ‘ecs_entity_t src’ 11343 | ecs_entity_t src = it->sources[index]; | ^~~ ../src/flecs/distr/flecs.c:11338:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 11338 | ecs_id_record_t *idr = (ecs_id_record_t*)tr->hdr.cache; | ^~~ ../src/flecs/distr/flecs.c:11332:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11332 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_field_is_readonly(const ecs_iter_t*, int8_t)’: ../src/flecs/distr/flecs.c:11380:1: error: jump to label ‘error’ 11380 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11364:5: note: in expansion of macro ‘ecs_check’ 11364 | ecs_check(index < it->field_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11366:23: note: crosses initialization of ‘const ecs_term_t* term’ 11366 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c:11380:1: error: jump to label ‘error’ 11380 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11362:5: note: in expansion of macro ‘ecs_check’ 11362 | ecs_check(index >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11366:23: note: crosses initialization of ‘const ecs_term_t* term’ 11366 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c:11380:1: error: jump to label ‘error’ 11380 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11361:5: note: in expansion of macro ‘ecs_check’ 11361 | ecs_check(it->query->terms != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11366:23: note: crosses initialization of ‘const ecs_term_t* term’ 11366 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c:11380:1: error: jump to label ‘error’ 11380 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11359:5: note: in expansion of macro ‘ecs_check’ 11359 | ecs_check(it->query != NULL, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11366:23: note: crosses initialization of ‘const ecs_term_t* term’ 11366 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c:11380:1: error: jump to label ‘error’ 11380 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11357:5: note: in expansion of macro ‘ecs_check’ 11357 | ecs_check(it->flags & EcsIterIsValid, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11366:23: note: crosses initialization of ‘const ecs_term_t* term’ 11366 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_field_is_writeonly(const ecs_iter_t*, int8_t)’: ../src/flecs/distr/flecs.c:11400:1: error: jump to label ‘error’ 11400 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11395:5: note: in expansion of macro ‘ecs_check’ 11395 | ecs_check(index < it->field_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11398:23: note: crosses initialization of ‘const ecs_term_t* term’ 11398 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c:11400:1: error: jump to label ‘error’ 11400 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11393:5: note: in expansion of macro ‘ecs_check’ 11393 | ecs_check(index >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11398:23: note: crosses initialization of ‘const ecs_term_t* term’ 11398 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c:11400:1: error: jump to label ‘error’ 11400 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11392:5: note: in expansion of macro ‘ecs_check’ 11392 | ecs_check(it->query->terms != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11398:23: note: crosses initialization of ‘const ecs_term_t* term’ 11398 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c:11400:1: error: jump to label ‘error’ 11400 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11390:5: note: in expansion of macro ‘ecs_check’ 11390 | ecs_check(it->query != NULL, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11398:23: note: crosses initialization of ‘const ecs_term_t* term’ 11398 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c:11400:1: error: jump to label ‘error’ 11400 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11388:5: note: in expansion of macro ‘ecs_check’ 11388 | ecs_check(it->flags & EcsIterIsValid, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11398:23: note: crosses initialization of ‘const ecs_term_t* term’ 11398 | const ecs_term_t *term = &it->query->terms[index]; | ^~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_field_column(const ecs_iter_t*, int8_t)’: ../src/flecs/distr/flecs.c:11463:1: error: jump to label ‘error’ 11463 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11454:5: note: in expansion of macro ‘ecs_check’ 11454 | ecs_check(index < it->field_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11457:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11457 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c:11463:1: error: jump to label ‘error’ 11463 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11452:5: note: in expansion of macro ‘ecs_check’ 11452 | ecs_check(index >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11457:31: note: crosses initialization of ‘const ecs_table_record_t* tr’ 11457 | const ecs_table_record_t *tr = it->trs[index]; | ^~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_iter_count(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:11607:1: error: jump to label ‘error’ 11607 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11598:5: note: in expansion of macro ‘ecs_check’ 11598 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11602:13: note: crosses initialization of ‘int32_t count’ 11602 | int32_t count = 0; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_iter_first(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:11625:1: error: jump to label ‘error’ 11625 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11614:5: note: in expansion of macro ‘ecs_check’ 11614 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11618:18: note: crosses initialization of ‘ecs_entity_t result’ 11618 | ecs_entity_t result = 0; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_iter_is_true(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:11641:1: error: jump to label ‘error’ 11641 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11632:5: note: in expansion of macro ‘ecs_check’ 11632 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11636:10: note: crosses initialization of ‘bool result’ 11636 | bool result = ecs_iter_next(it); | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_iter_get_var(ecs_iter_t*, int32_t)’: ../src/flecs/distr/flecs.c:11674:1: error: jump to label ‘error’ 11674 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11653:5: note: in expansion of macro ‘ecs_check’ 11653 | ecs_check(it->variables != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11656:18: note: crosses initialization of ‘ecs_entity_t e’ 11656 | ecs_entity_t e = var->entity; | ^ ../src/flecs/distr/flecs.c:11655:16: note: crosses initialization of ‘ecs_var_t* var’ 11655 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11674:1: error: jump to label ‘error’ 11674 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11651:5: note: in expansion of macro ‘ecs_check’ 11651 | ecs_check(var_id < it->variable_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11656:18: note: crosses initialization of ‘ecs_entity_t e’ 11656 | ecs_entity_t e = var->entity; | ^ ../src/flecs/distr/flecs.c:11655:16: note: crosses initialization of ‘ecs_var_t* var’ 11655 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11674:1: error: jump to label ‘error’ 11674 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11649:5: note: in expansion of macro ‘ecs_check’ 11649 | ecs_check(var_id >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11656:18: note: crosses initialization of ‘ecs_entity_t e’ 11656 | ecs_entity_t e = var->entity; | ^ ../src/flecs/distr/flecs.c:11655:16: note: crosses initialization of ‘ecs_var_t* var’ 11655 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c: In function ‘ecs_table_t* ecs_iter_get_var_as_table(ecs_iter_t*, int32_t)’: ../src/flecs/distr/flecs.c:11722:1: error: jump to label ‘error’ 11722 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11686:5: note: in expansion of macro ‘ecs_check’ 11686 | ecs_check(it->variables != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11689:18: note: crosses initialization of ‘ecs_table_t* table’ 11689 | ecs_table_t *table = var->range.table; | ^~~~~ ../src/flecs/distr/flecs.c:11688:16: note: crosses initialization of ‘ecs_var_t* var’ 11688 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11722:1: error: jump to label ‘error’ 11722 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11684:5: note: in expansion of macro ‘ecs_check’ 11684 | ecs_check(var_id < it->variable_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11689:18: note: crosses initialization of ‘ecs_table_t* table’ 11689 | ecs_table_t *table = var->range.table; | ^~~~~ ../src/flecs/distr/flecs.c:11688:16: note: crosses initialization of ‘ecs_var_t* var’ 11688 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11722:1: error: jump to label ‘error’ 11722 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11682:5: note: in expansion of macro ‘ecs_check’ 11682 | ecs_check(var_id >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11689:18: note: crosses initialization of ‘ecs_table_t* table’ 11689 | ecs_table_t *table = var->range.table; | ^~~~~ ../src/flecs/distr/flecs.c:11688:16: note: crosses initialization of ‘ecs_var_t* var’ 11688 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c: In function ‘ecs_table_range_t ecs_iter_get_var_as_range(ecs_iter_t*, int32_t)’: ../src/flecs/distr/flecs.c:11764:1: error: jump to label ‘error’ 11764 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11734:5: note: in expansion of macro ‘ecs_check’ 11734 | ecs_check(it->variables != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11739:18: note: crosses initialization of ‘ecs_table_t* table’ 11739 | ecs_table_t *table = var->range.table; | ^~~~~ ../src/flecs/distr/flecs.c:11738:16: note: crosses initialization of ‘ecs_var_t* var’ 11738 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11736:23: note: crosses initialization of ‘ecs_table_range_t result’ 11736 | ecs_table_range_t result = { 0 }; | ^~~~~~ ../src/flecs/distr/flecs.c:11764:1: error: jump to label ‘error’ 11764 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11732:5: note: in expansion of macro ‘ecs_check’ 11732 | ecs_check(var_id < it->variable_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11739:18: note: crosses initialization of ‘ecs_table_t* table’ 11739 | ecs_table_t *table = var->range.table; | ^~~~~ ../src/flecs/distr/flecs.c:11738:16: note: crosses initialization of ‘ecs_var_t* var’ 11738 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11736:23: note: crosses initialization of ‘ecs_table_range_t result’ 11736 | ecs_table_range_t result = { 0 }; | ^~~~~~ ../src/flecs/distr/flecs.c:11764:1: error: jump to label ‘error’ 11764 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11730:5: note: in expansion of macro ‘ecs_check’ 11730 | ecs_check(var_id >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11739:18: note: crosses initialization of ‘ecs_table_t* table’ 11739 | ecs_table_t *table = var->range.table; | ^~~~~ ../src/flecs/distr/flecs.c:11738:16: note: crosses initialization of ‘ecs_var_t* var’ 11738 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11736:23: note: crosses initialization of ‘ecs_table_range_t result’ 11736 | ecs_table_range_t result = { 0 }; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_iter_set_var(ecs_iter_t*, int32_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:11803:1: error: jump to label ‘error’ 11803 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11782:5: note: in expansion of macro ‘ecs_check’ 11782 | ecs_check(it->variables != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11787:19: note: crosses initialization of ‘ecs_record_t* r’ 11787 | ecs_record_t *r = flecs_entities_get(it->real_world, entity); | ^ ../src/flecs/distr/flecs.c:11784:16: note: crosses initialization of ‘ecs_var_t* var’ 11784 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11803:1: error: jump to label ‘error’ 11803 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11780:5: note: in expansion of macro ‘ecs_check’ 11780 | ecs_check(!(it->flags & EcsIterIsValid), ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11787:19: note: crosses initialization of ‘ecs_record_t* r’ 11787 | ecs_record_t *r = flecs_entities_get(it->real_world, entity); | ^ ../src/flecs/distr/flecs.c:11784:16: note: crosses initialization of ‘ecs_var_t* var’ 11784 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11803:1: error: jump to label ‘error’ 11803 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11779:5: note: in expansion of macro ‘ecs_check’ 11779 | ecs_check(entity != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11787:19: note: crosses initialization of ‘ecs_record_t* r’ 11787 | ecs_record_t *r = flecs_entities_get(it->real_world, entity); | ^ ../src/flecs/distr/flecs.c:11784:16: note: crosses initialization of ‘ecs_var_t* var’ 11784 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11803:1: error: jump to label ‘error’ 11803 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11777:5: note: in expansion of macro ‘ecs_check’ 11777 | ecs_check(var_id < it->variable_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11787:19: note: crosses initialization of ‘ecs_record_t* r’ 11787 | ecs_record_t *r = flecs_entities_get(it->real_world, entity); | ^ ../src/flecs/distr/flecs.c:11784:16: note: crosses initialization of ‘ecs_var_t* var’ 11784 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11803:1: error: jump to label ‘error’ 11803 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11776:5: note: in expansion of macro ‘ecs_check’ 11776 | ecs_check(var_id < FLECS_QUERY_VARIABLE_COUNT_MAX, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11787:19: note: crosses initialization of ‘ecs_record_t* r’ 11787 | ecs_record_t *r = flecs_entities_get(it->real_world, entity); | ^ ../src/flecs/distr/flecs.c:11784:16: note: crosses initialization of ‘ecs_var_t* var’ 11784 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11803:1: error: jump to label ‘error’ 11803 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11774:5: note: in expansion of macro ‘ecs_check’ 11774 | ecs_check(var_id >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11787:19: note: crosses initialization of ‘ecs_record_t* r’ 11787 | ecs_record_t *r = flecs_entities_get(it->real_world, entity); | ^ ../src/flecs/distr/flecs.c:11784:16: note: crosses initialization of ‘ecs_var_t* var’ 11784 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11803:1: error: jump to label ‘error’ 11803 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11773:5: note: in expansion of macro ‘ecs_check’ 11773 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11787:19: note: crosses initialization of ‘ecs_record_t* r’ 11787 | ecs_record_t *r = flecs_entities_get(it->real_world, entity); | ^ ../src/flecs/distr/flecs.c:11784:16: note: crosses initialization of ‘ecs_var_t* var’ 11784 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_iter_set_var_as_range(ecs_iter_t*, int32_t, const ecs_table_range_t*)’: ../src/flecs/distr/flecs.c:11851:1: error: jump to label ‘error’ 11851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11833:5: note: in expansion of macro ‘ecs_check’ 11833 | ecs_check(!(it->flags & EcsIterIsValid), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11836:16: note: crosses initialization of ‘ecs_var_t* var’ 11836 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11851:1: error: jump to label ‘error’ 11851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11830:5: note: in expansion of macro ‘ecs_check’ 11830 | ecs_check((range->offset + range->count) <= ecs_table_count(range->table), | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11836:16: note: crosses initialization of ‘ecs_var_t* var’ 11836 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11851:1: error: jump to label ‘error’ 11851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11828:5: note: in expansion of macro ‘ecs_check’ 11828 | ecs_check(!range->offset || range->offset < ecs_table_count(range->table), | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11836:16: note: crosses initialization of ‘ecs_var_t* var’ 11836 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11851:1: error: jump to label ‘error’ 11851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11827:5: note: in expansion of macro ‘ecs_check’ 11827 | ecs_check(range->table != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11836:16: note: crosses initialization of ‘ecs_var_t* var’ 11836 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11851:1: error: jump to label ‘error’ 11851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11826:5: note: in expansion of macro ‘ecs_check’ 11826 | ecs_check(range != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11836:16: note: crosses initialization of ‘ecs_var_t* var’ 11836 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11851:1: error: jump to label ‘error’ 11851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11824:5: note: in expansion of macro ‘ecs_check’ 11824 | ecs_check(var_id < it->variable_count, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11836:16: note: crosses initialization of ‘ecs_var_t* var’ 11836 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11851:1: error: jump to label ‘error’ 11851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11822:5: note: in expansion of macro ‘ecs_check’ 11822 | ecs_check(var_id >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11836:16: note: crosses initialization of ‘ecs_var_t* var’ 11836 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c:11851:1: error: jump to label ‘error’ 11851 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11821:5: note: in expansion of macro ‘ecs_check’ 11821 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11836:16: note: crosses initialization of ‘ecs_var_t* var’ 11836 | ecs_var_t *var = &it->variables[var_id]; | ^~~ ../src/flecs/distr/flecs.c: In function ‘ecs_iter_t ecs_page_iter(const ecs_iter_t*, int32_t, int32_t)’: ../src/flecs/distr/flecs.c:11895:1: error: jump to label ‘error’ 11895 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11880:5: note: in expansion of macro ‘ecs_check’ 11880 | ecs_check(it->next != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11882:16: note: crosses initialization of ‘ecs_iter_t result’ 11882 | ecs_iter_t result = *it; | ^~~~~~ ../src/flecs/distr/flecs.c:11895:1: error: jump to label ‘error’ 11895 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11879:5: note: in expansion of macro ‘ecs_check’ 11879 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11882:16: note: crosses initialization of ‘ecs_iter_t result’ 11882 | ecs_iter_t result = *it; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_page_next(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:11971:1: error: jump to label ‘error’ 11971 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11904:5: note: in expansion of macro ‘ecs_check’ 11904 | ecs_check(it->next == ecs_page_next, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11906:17: note: crosses initialization of ‘ecs_iter_t* chain_it’ 11906 | ecs_iter_t *chain_it = it->chain_it; | ^~~~~~~~ ../src/flecs/distr/flecs.c:11971:1: error: jump to label ‘error’ 11971 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11903:5: note: in expansion of macro ‘ecs_check’ 11903 | ecs_check(it->chain_it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11906:17: note: crosses initialization of ‘ecs_iter_t* chain_it’ 11906 | ecs_iter_t *chain_it = it->chain_it; | ^~~~~~~~ ../src/flecs/distr/flecs.c:11971:1: error: jump to label ‘error’ 11971 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11902:5: note: in expansion of macro ‘ecs_check’ 11902 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11906:17: note: crosses initialization of ‘ecs_iter_t* chain_it’ 11906 | ecs_iter_t *chain_it = it->chain_it; | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_iter_t ecs_worker_iter(const ecs_iter_t*, int32_t, int32_t)’: ../src/flecs/distr/flecs.c:11999:1: error: jump to label ‘error’ 11999 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11985:5: note: in expansion of macro ‘ecs_check’ 11985 | ecs_check(index < count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11987:16: note: crosses initialization of ‘ecs_iter_t result’ 11987 | ecs_iter_t result = *it; | ^~~~~~ ../src/flecs/distr/flecs.c:11999:1: error: jump to label ‘error’ 11999 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11983:5: note: in expansion of macro ‘ecs_check’ 11983 | ecs_check(index >= 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11987:16: note: crosses initialization of ‘ecs_iter_t result’ 11987 | ecs_iter_t result = *it; | ^~~~~~ ../src/flecs/distr/flecs.c:11999:1: error: jump to label ‘error’ 11999 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11982:5: note: in expansion of macro ‘ecs_check’ 11982 | ecs_check(count > 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11987:16: note: crosses initialization of ‘ecs_iter_t result’ 11987 | ecs_iter_t result = *it; | ^~~~~~ ../src/flecs/distr/flecs.c:11999:1: error: jump to label ‘error’ 11999 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11981:5: note: in expansion of macro ‘ecs_check’ 11981 | ecs_check(it->next != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11987:16: note: crosses initialization of ‘ecs_iter_t result’ 11987 | ecs_iter_t result = *it; | ^~~~~~ ../src/flecs/distr/flecs.c:11999:1: error: jump to label ‘error’ 11999 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:11980:5: note: in expansion of macro ‘ecs_check’ 11980 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:11987:16: note: crosses initialization of ‘ecs_iter_t result’ 11987 | ecs_iter_t result = *it; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_worker_next(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:12056:1: error: jump to label ‘error’ 12056 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:12008:5: note: in expansion of macro ‘ecs_check’ 12008 | ecs_check(it->next == ecs_worker_next, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12012:38: note: crosses initialization of ‘int32_t res_index’ 12012 | int32_t res_count = iter->count, res_index = iter->index; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12012:13: note: crosses initialization of ‘int32_t res_count’ 12012 | int32_t res_count = iter->count, res_index = iter->index; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12011:24: note: crosses initialization of ‘ecs_worker_iter_t* iter’ 12011 | ecs_worker_iter_t *iter = &it->priv_.iter.worker; | ^~~~ ../src/flecs/distr/flecs.c:12010:17: note: crosses initialization of ‘ecs_iter_t* chain_it’ 12010 | ecs_iter_t *chain_it = it->chain_it; | ^~~~~~~~ ../src/flecs/distr/flecs.c:12056:1: error: jump to label ‘error’ 12056 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:12007:5: note: in expansion of macro ‘ecs_check’ 12007 | ecs_check(it->chain_it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12012:38: note: crosses initialization of ‘int32_t res_index’ 12012 | int32_t res_count = iter->count, res_index = iter->index; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12012:13: note: crosses initialization of ‘int32_t res_count’ 12012 | int32_t res_count = iter->count, res_index = iter->index; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12011:24: note: crosses initialization of ‘ecs_worker_iter_t* iter’ 12011 | ecs_worker_iter_t *iter = &it->priv_.iter.worker; | ^~~~ ../src/flecs/distr/flecs.c:12010:17: note: crosses initialization of ‘ecs_iter_t* chain_it’ 12010 | ecs_iter_t *chain_it = it->chain_it; | ^~~~~~~~ ../src/flecs/distr/flecs.c:12056:1: error: jump to label ‘error’ 12056 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:12006:5: note: in expansion of macro ‘ecs_check’ 12006 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12012:38: note: crosses initialization of ‘int32_t res_index’ 12012 | int32_t res_count = iter->count, res_index = iter->index; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12012:13: note: crosses initialization of ‘int32_t res_count’ 12012 | int32_t res_count = iter->count, res_index = iter->index; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:12011:24: note: crosses initialization of ‘ecs_worker_iter_t* iter’ 12011 | ecs_worker_iter_t *iter = &it->priv_.iter.worker; | ^~~~ ../src/flecs/distr/flecs.c:12010:17: note: crosses initialization of ‘ecs_iter_t* chain_it’ 12010 | ecs_iter_t *chain_it = it->chain_it; | ^~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:12070:71: sorry, unimplemented: non-trivial designated initializers not supported 12070 | [1] = INT8_MIN, [2] = INT16_MIN, [4] = INT32_MIN, [8] = INT64_MIN }; | ^ ../src/flecs/distr/flecs.c:12070:71: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:12070:71: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:12070:71: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:12072:71: sorry, unimplemented: non-trivial designated initializers not supported 12072 | [1] = INT8_MAX, [2] = INT16_MAX, [4] = INT32_MAX, [8] = INT64_MAX }; | ^ ../src/flecs/distr/flecs.c:12072:71: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:12072:71: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:12072:71: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:12074:75: sorry, unimplemented: non-trivial designated initializers not supported 12074 | [1] = UINT8_MAX, [2] = UINT16_MAX, [4] = UINT32_MAX, [8] = UINT64_MAX }; | ^ ../src/flecs/distr/flecs.c:12074:75: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:12074:75: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:12074:75: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c: In function ‘uint64_t flecs_string_hash(const void*)’: ../src/flecs/distr/flecs.c:12197:38: error: invalid conversion from ‘const void*’ to ‘const ecs_hashed_string_t*’ [-fpermissive] 12197 | const ecs_hashed_string_t *str = ptr; | ^~~ | | | const void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘char* flecs_load_from_file(const char*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:12298:15: note: in expansion of macro ‘ecs_os_malloc’ 12298 | content = ecs_os_malloc(bytes + 1); | ^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_emit_propagate_id(ecs_world_t*, ecs_iter_t*, ecs_id_record_t*, ecs_id_record_t*, ecs_entity_t, ecs_event_id_record_t**, int32_t)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:12796:18: note: in expansion of macro ‘flecs_table_cache_next’ 12796 | while ((tr = flecs_table_cache_next(&idt, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_emit_propagate_invalidate_tables(ecs_world_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:12921:22: note: in expansion of macro ‘flecs_table_cache_next’ 12921 | while ((tr = flecs_table_cache_next(&idt, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_emit_stack_at(ecs_vec_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.c:13247:46: error: invalid conversion from ‘void*’ to ‘ecs_table_t**’ [-fpermissive] 13247 | ecs_table_t **stack_elems = ecs_vec_first(stack); | ~~~~~~~~~~~~~^~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_emit_forward(ecs_world_t*, const ecs_event_record_t*, const ecs_event_record_t*, const ecs_type_t*, ecs_iter_t*, ecs_table_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘const ecs_entity_t*’ {aka ‘const long unsigned int*’} [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:3949:33: note: in expansion of macro ‘ECS_ELEM’ 3949 | #define ECS_ELEM_T(o, T, index) ECS_ELEM(o, ECS_SIZEOF(T), index) | ^~~~~~~~ ../src/flecs/distr/flecs.c:13581:20: note: in expansion of macro ‘ECS_ELEM_T’ 13581 | entities = ECS_ELEM_T(entities, ecs_entity_t, it->offset); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_emit(ecs_world_t*, ecs_world_t*, ecs_flags64_t, ecs_event_desc_t*)’: ../src/flecs/distr/flecs.c:13695:5: error: designator order for field ‘ecs_iter_t::table’ does not match declaration order in ‘ecs_iter_t’ 13695 | }; | ^ ../src/flecs/distr/flecs.c:13825:38: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 13825 | idr->sparse, 0, base); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:13883:49: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 13883 | ptr = flecs_sparse_get(idr->sparse, 0, e); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1391:25: note: initializing argument 1 of ‘void* flecs_sparse_get(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1391 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:13966:1: error: jump to label ‘error’ 13966 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13698:5: note: in expansion of macro ‘ecs_check’ 13698 | ecs_check(observable != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13737:28: note: crosses initialization of ‘ecs_event_id_record_t* iders [5]’ 13737 | ecs_event_id_record_t *iders[5] = {0}; | ^~~~~ ../src/flecs/distr/flecs.c:13735:10: note: crosses initialization of ‘bool has_observed’ 13735 | bool has_observed = table_flags & EcsTableHasTraversable; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13732:10: note: crosses initialization of ‘bool can_forward’ 13732 | bool can_forward = event != EcsOnSet; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13725:10: note: crosses initialization of ‘bool can_override’ 13725 | bool can_override = count && (table_flags & EcsTableHasIsA) && ( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13720:15: note: crosses initialization of ‘ecs_id_t* id_array’ 13720 | ecs_id_t *id_array = ids->array; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13719:13: note: crosses initialization of ‘int32_t id_count’ 13719 | int32_t id_count = ids->count; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13712:19: note: crosses initialization of ‘ecs_column_t* columns’ 13712 | ecs_column_t *columns = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13711:17: note: crosses initialization of ‘ecs_data_t* storage’ 13711 | ecs_data_t *storage = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13709:31: note: crosses initialization of ‘const ecs_event_record_t* er_onset’ 13709 | const ecs_event_record_t *er_onset = flecs_event_record_get_if(observable, EcsOnSet); | ^~~~~~~~ ../src/flecs/distr/flecs.c:13708:31: note: crosses initialization of ‘const ecs_event_record_t* wcer’ 13708 | const ecs_event_record_t *wcer = flecs_event_record_get_if(observable, EcsWildcard); | ^~~~ ../src/flecs/distr/flecs.c:13707:31: note: crosses initialization of ‘const ecs_event_record_t* er’ 13707 | const ecs_event_record_t *er = flecs_event_record_get_if(observable, event); | ^~ ../src/flecs/distr/flecs.c:13966:1: error: jump to label ‘error’ 13966 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13636:5: note: in expansion of macro ‘ecs_check’ 13636 | ecs_check(desc->observable != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13737:28: note: crosses initialization of ‘ecs_event_id_record_t* iders [5]’ 13737 | ecs_event_id_record_t *iders[5] = {0}; | ^~~~~ ../src/flecs/distr/flecs.c:13735:10: note: crosses initialization of ‘bool has_observed’ 13735 | bool has_observed = table_flags & EcsTableHasTraversable; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13732:10: note: crosses initialization of ‘bool can_forward’ 13732 | bool can_forward = event != EcsOnSet; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13725:10: note: crosses initialization of ‘bool can_override’ 13725 | bool can_override = count && (table_flags & EcsTableHasIsA) && ( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13720:15: note: crosses initialization of ‘ecs_id_t* id_array’ 13720 | ecs_id_t *id_array = ids->array; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13719:13: note: crosses initialization of ‘int32_t id_count’ 13719 | int32_t id_count = ids->count; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13712:19: note: crosses initialization of ‘ecs_column_t* columns’ 13712 | ecs_column_t *columns = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13711:17: note: crosses initialization of ‘ecs_data_t* storage’ 13711 | ecs_data_t *storage = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13709:31: note: crosses initialization of ‘const ecs_event_record_t* er_onset’ 13709 | const ecs_event_record_t *er_onset = flecs_event_record_get_if(observable, EcsOnSet); | ^~~~~~~~ ../src/flecs/distr/flecs.c:13708:31: note: crosses initialization of ‘const ecs_event_record_t* wcer’ 13708 | const ecs_event_record_t *wcer = flecs_event_record_get_if(observable, EcsWildcard); | ^~~~ ../src/flecs/distr/flecs.c:13707:31: note: crosses initialization of ‘const ecs_event_record_t* er’ 13707 | const ecs_event_record_t *er = flecs_event_record_get_if(observable, event); | ^~ ../src/flecs/distr/flecs.c:13697:23: note: crosses initialization of ‘ecs_observable_t* observable’ 13697 | ecs_observable_t *observable = ecs_get_observable(desc->observable); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:13679:16: note: crosses initialization of ‘ecs_iter_t it’ 13679 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:13677:18: note: crosses initialization of ‘ecs_entity_t sources_cache’ 13677 | ecs_entity_t sources_cache = 0; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13676:31: note: crosses initialization of ‘const ecs_table_record_t* trs_cache’ 13676 | const ecs_table_record_t* trs_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13675:16: note: crosses initialization of ‘ecs_size_t sizes_cache’ 13675 | ecs_size_t sizes_cache = 0; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13674:14: note: crosses initialization of ‘ecs_id_t ids_cache’ 13674 | ecs_id_t ids_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13672:13: note: crosses initialization of ‘int32_t evtx’ 13672 | int32_t evtx = ++world->event_id; | ^~~~ ../src/flecs/distr/flecs.c:13661:10: note: crosses initialization of ‘bool table_event’ 13661 | bool table_event = desc->flags & EcsEventTableOnly; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13654:13: note: crosses initialization of ‘int32_t defer’ 13654 | int32_t defer = world->stages[0]->defer; | ^~~~~ ../src/flecs/distr/flecs.c:13651:19: note: crosses initialization of ‘ecs_flags32_t table_flags’ 13651 | ecs_flags32_t table_flags = table->flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13650:16: note: crosses initialization of ‘int32_t count’ 13650 | int32_t i, count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:13649:13: note: crosses initialization of ‘int32_t offset’ 13649 | int32_t offset = desc->offset; | ^~~~~~ ../src/flecs/distr/flecs.c:13648:40: note: crosses initialization of ‘ecs_table_t* other_table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13648:18: note: crosses initialization of ‘ecs_table_t* table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~ ../src/flecs/distr/flecs.c:13647:18: note: crosses initialization of ‘ecs_entity_t event’ 13647 | ecs_entity_t event = desc->event; | ^~~~~ ../src/flecs/distr/flecs.c:13646:23: note: crosses initialization of ‘const ecs_type_t* ids’ 13646 | const ecs_type_t *ids = desc->ids; | ^~~ ../src/flecs/distr/flecs.c:13641:10: note: crosses initialization of ‘bool measure_time’ 13641 | bool measure_time = world->flags & EcsWorldMeasureSystemTime; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13640:16: note: crosses initialization of ‘ecs_time_t t’ 13640 | ecs_time_t t = {0}; | ^ ../src/flecs/distr/flecs.c:13966:1: error: jump to label ‘error’ 13966 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13635:5: note: in expansion of macro ‘ecs_check’ 13635 | ecs_check(desc->table != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13737:28: note: crosses initialization of ‘ecs_event_id_record_t* iders [5]’ 13737 | ecs_event_id_record_t *iders[5] = {0}; | ^~~~~ ../src/flecs/distr/flecs.c:13735:10: note: crosses initialization of ‘bool has_observed’ 13735 | bool has_observed = table_flags & EcsTableHasTraversable; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13732:10: note: crosses initialization of ‘bool can_forward’ 13732 | bool can_forward = event != EcsOnSet; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13725:10: note: crosses initialization of ‘bool can_override’ 13725 | bool can_override = count && (table_flags & EcsTableHasIsA) && ( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13720:15: note: crosses initialization of ‘ecs_id_t* id_array’ 13720 | ecs_id_t *id_array = ids->array; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13719:13: note: crosses initialization of ‘int32_t id_count’ 13719 | int32_t id_count = ids->count; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13712:19: note: crosses initialization of ‘ecs_column_t* columns’ 13712 | ecs_column_t *columns = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13711:17: note: crosses initialization of ‘ecs_data_t* storage’ 13711 | ecs_data_t *storage = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13709:31: note: crosses initialization of ‘const ecs_event_record_t* er_onset’ 13709 | const ecs_event_record_t *er_onset = flecs_event_record_get_if(observable, EcsOnSet); | ^~~~~~~~ ../src/flecs/distr/flecs.c:13708:31: note: crosses initialization of ‘const ecs_event_record_t* wcer’ 13708 | const ecs_event_record_t *wcer = flecs_event_record_get_if(observable, EcsWildcard); | ^~~~ ../src/flecs/distr/flecs.c:13707:31: note: crosses initialization of ‘const ecs_event_record_t* er’ 13707 | const ecs_event_record_t *er = flecs_event_record_get_if(observable, event); | ^~ ../src/flecs/distr/flecs.c:13697:23: note: crosses initialization of ‘ecs_observable_t* observable’ 13697 | ecs_observable_t *observable = ecs_get_observable(desc->observable); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:13679:16: note: crosses initialization of ‘ecs_iter_t it’ 13679 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:13677:18: note: crosses initialization of ‘ecs_entity_t sources_cache’ 13677 | ecs_entity_t sources_cache = 0; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13676:31: note: crosses initialization of ‘const ecs_table_record_t* trs_cache’ 13676 | const ecs_table_record_t* trs_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13675:16: note: crosses initialization of ‘ecs_size_t sizes_cache’ 13675 | ecs_size_t sizes_cache = 0; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13674:14: note: crosses initialization of ‘ecs_id_t ids_cache’ 13674 | ecs_id_t ids_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13672:13: note: crosses initialization of ‘int32_t evtx’ 13672 | int32_t evtx = ++world->event_id; | ^~~~ ../src/flecs/distr/flecs.c:13661:10: note: crosses initialization of ‘bool table_event’ 13661 | bool table_event = desc->flags & EcsEventTableOnly; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13654:13: note: crosses initialization of ‘int32_t defer’ 13654 | int32_t defer = world->stages[0]->defer; | ^~~~~ ../src/flecs/distr/flecs.c:13651:19: note: crosses initialization of ‘ecs_flags32_t table_flags’ 13651 | ecs_flags32_t table_flags = table->flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13650:16: note: crosses initialization of ‘int32_t count’ 13650 | int32_t i, count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:13649:13: note: crosses initialization of ‘int32_t offset’ 13649 | int32_t offset = desc->offset; | ^~~~~~ ../src/flecs/distr/flecs.c:13648:40: note: crosses initialization of ‘ecs_table_t* other_table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13648:18: note: crosses initialization of ‘ecs_table_t* table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~ ../src/flecs/distr/flecs.c:13647:18: note: crosses initialization of ‘ecs_entity_t event’ 13647 | ecs_entity_t event = desc->event; | ^~~~~ ../src/flecs/distr/flecs.c:13646:23: note: crosses initialization of ‘const ecs_type_t* ids’ 13646 | const ecs_type_t *ids = desc->ids; | ^~~ ../src/flecs/distr/flecs.c:13641:10: note: crosses initialization of ‘bool measure_time’ 13641 | bool measure_time = world->flags & EcsWorldMeasureSystemTime; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13640:16: note: crosses initialization of ‘ecs_time_t t’ 13640 | ecs_time_t t = {0}; | ^ ../src/flecs/distr/flecs.c:13966:1: error: jump to label ‘error’ 13966 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13634:5: note: in expansion of macro ‘ecs_check’ 13634 | ecs_check(desc->ids->count != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13737:28: note: crosses initialization of ‘ecs_event_id_record_t* iders [5]’ 13737 | ecs_event_id_record_t *iders[5] = {0}; | ^~~~~ ../src/flecs/distr/flecs.c:13735:10: note: crosses initialization of ‘bool has_observed’ 13735 | bool has_observed = table_flags & EcsTableHasTraversable; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13732:10: note: crosses initialization of ‘bool can_forward’ 13732 | bool can_forward = event != EcsOnSet; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13725:10: note: crosses initialization of ‘bool can_override’ 13725 | bool can_override = count && (table_flags & EcsTableHasIsA) && ( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13720:15: note: crosses initialization of ‘ecs_id_t* id_array’ 13720 | ecs_id_t *id_array = ids->array; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13719:13: note: crosses initialization of ‘int32_t id_count’ 13719 | int32_t id_count = ids->count; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13712:19: note: crosses initialization of ‘ecs_column_t* columns’ 13712 | ecs_column_t *columns = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13711:17: note: crosses initialization of ‘ecs_data_t* storage’ 13711 | ecs_data_t *storage = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13709:31: note: crosses initialization of ‘const ecs_event_record_t* er_onset’ 13709 | const ecs_event_record_t *er_onset = flecs_event_record_get_if(observable, EcsOnSet); | ^~~~~~~~ ../src/flecs/distr/flecs.c:13708:31: note: crosses initialization of ‘const ecs_event_record_t* wcer’ 13708 | const ecs_event_record_t *wcer = flecs_event_record_get_if(observable, EcsWildcard); | ^~~~ ../src/flecs/distr/flecs.c:13707:31: note: crosses initialization of ‘const ecs_event_record_t* er’ 13707 | const ecs_event_record_t *er = flecs_event_record_get_if(observable, event); | ^~ ../src/flecs/distr/flecs.c:13697:23: note: crosses initialization of ‘ecs_observable_t* observable’ 13697 | ecs_observable_t *observable = ecs_get_observable(desc->observable); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:13679:16: note: crosses initialization of ‘ecs_iter_t it’ 13679 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:13677:18: note: crosses initialization of ‘ecs_entity_t sources_cache’ 13677 | ecs_entity_t sources_cache = 0; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13676:31: note: crosses initialization of ‘const ecs_table_record_t* trs_cache’ 13676 | const ecs_table_record_t* trs_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13675:16: note: crosses initialization of ‘ecs_size_t sizes_cache’ 13675 | ecs_size_t sizes_cache = 0; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13674:14: note: crosses initialization of ‘ecs_id_t ids_cache’ 13674 | ecs_id_t ids_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13672:13: note: crosses initialization of ‘int32_t evtx’ 13672 | int32_t evtx = ++world->event_id; | ^~~~ ../src/flecs/distr/flecs.c:13661:10: note: crosses initialization of ‘bool table_event’ 13661 | bool table_event = desc->flags & EcsEventTableOnly; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13654:13: note: crosses initialization of ‘int32_t defer’ 13654 | int32_t defer = world->stages[0]->defer; | ^~~~~ ../src/flecs/distr/flecs.c:13651:19: note: crosses initialization of ‘ecs_flags32_t table_flags’ 13651 | ecs_flags32_t table_flags = table->flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13650:16: note: crosses initialization of ‘int32_t count’ 13650 | int32_t i, count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:13649:13: note: crosses initialization of ‘int32_t offset’ 13649 | int32_t offset = desc->offset; | ^~~~~~ ../src/flecs/distr/flecs.c:13648:40: note: crosses initialization of ‘ecs_table_t* other_table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13648:18: note: crosses initialization of ‘ecs_table_t* table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~ ../src/flecs/distr/flecs.c:13647:18: note: crosses initialization of ‘ecs_entity_t event’ 13647 | ecs_entity_t event = desc->event; | ^~~~~ ../src/flecs/distr/flecs.c:13646:23: note: crosses initialization of ‘const ecs_type_t* ids’ 13646 | const ecs_type_t *ids = desc->ids; | ^~~ ../src/flecs/distr/flecs.c:13641:10: note: crosses initialization of ‘bool measure_time’ 13641 | bool measure_time = world->flags & EcsWorldMeasureSystemTime; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13640:16: note: crosses initialization of ‘ecs_time_t t’ 13640 | ecs_time_t t = {0}; | ^ ../src/flecs/distr/flecs.c:13966:1: error: jump to label ‘error’ 13966 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13633:5: note: in expansion of macro ‘ecs_check’ 13633 | ecs_check(desc->ids != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13737:28: note: crosses initialization of ‘ecs_event_id_record_t* iders [5]’ 13737 | ecs_event_id_record_t *iders[5] = {0}; | ^~~~~ ../src/flecs/distr/flecs.c:13735:10: note: crosses initialization of ‘bool has_observed’ 13735 | bool has_observed = table_flags & EcsTableHasTraversable; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13732:10: note: crosses initialization of ‘bool can_forward’ 13732 | bool can_forward = event != EcsOnSet; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13725:10: note: crosses initialization of ‘bool can_override’ 13725 | bool can_override = count && (table_flags & EcsTableHasIsA) && ( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13720:15: note: crosses initialization of ‘ecs_id_t* id_array’ 13720 | ecs_id_t *id_array = ids->array; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13719:13: note: crosses initialization of ‘int32_t id_count’ 13719 | int32_t id_count = ids->count; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13712:19: note: crosses initialization of ‘ecs_column_t* columns’ 13712 | ecs_column_t *columns = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13711:17: note: crosses initialization of ‘ecs_data_t* storage’ 13711 | ecs_data_t *storage = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13709:31: note: crosses initialization of ‘const ecs_event_record_t* er_onset’ 13709 | const ecs_event_record_t *er_onset = flecs_event_record_get_if(observable, EcsOnSet); | ^~~~~~~~ ../src/flecs/distr/flecs.c:13708:31: note: crosses initialization of ‘const ecs_event_record_t* wcer’ 13708 | const ecs_event_record_t *wcer = flecs_event_record_get_if(observable, EcsWildcard); | ^~~~ ../src/flecs/distr/flecs.c:13707:31: note: crosses initialization of ‘const ecs_event_record_t* er’ 13707 | const ecs_event_record_t *er = flecs_event_record_get_if(observable, event); | ^~ ../src/flecs/distr/flecs.c:13697:23: note: crosses initialization of ‘ecs_observable_t* observable’ 13697 | ecs_observable_t *observable = ecs_get_observable(desc->observable); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:13679:16: note: crosses initialization of ‘ecs_iter_t it’ 13679 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:13677:18: note: crosses initialization of ‘ecs_entity_t sources_cache’ 13677 | ecs_entity_t sources_cache = 0; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13676:31: note: crosses initialization of ‘const ecs_table_record_t* trs_cache’ 13676 | const ecs_table_record_t* trs_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13675:16: note: crosses initialization of ‘ecs_size_t sizes_cache’ 13675 | ecs_size_t sizes_cache = 0; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13674:14: note: crosses initialization of ‘ecs_id_t ids_cache’ 13674 | ecs_id_t ids_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13672:13: note: crosses initialization of ‘int32_t evtx’ 13672 | int32_t evtx = ++world->event_id; | ^~~~ ../src/flecs/distr/flecs.c:13661:10: note: crosses initialization of ‘bool table_event’ 13661 | bool table_event = desc->flags & EcsEventTableOnly; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13654:13: note: crosses initialization of ‘int32_t defer’ 13654 | int32_t defer = world->stages[0]->defer; | ^~~~~ ../src/flecs/distr/flecs.c:13651:19: note: crosses initialization of ‘ecs_flags32_t table_flags’ 13651 | ecs_flags32_t table_flags = table->flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13650:16: note: crosses initialization of ‘int32_t count’ 13650 | int32_t i, count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:13649:13: note: crosses initialization of ‘int32_t offset’ 13649 | int32_t offset = desc->offset; | ^~~~~~ ../src/flecs/distr/flecs.c:13648:40: note: crosses initialization of ‘ecs_table_t* other_table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13648:18: note: crosses initialization of ‘ecs_table_t* table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~ ../src/flecs/distr/flecs.c:13647:18: note: crosses initialization of ‘ecs_entity_t event’ 13647 | ecs_entity_t event = desc->event; | ^~~~~ ../src/flecs/distr/flecs.c:13646:23: note: crosses initialization of ‘const ecs_type_t* ids’ 13646 | const ecs_type_t *ids = desc->ids; | ^~~ ../src/flecs/distr/flecs.c:13641:10: note: crosses initialization of ‘bool measure_time’ 13641 | bool measure_time = world->flags & EcsWorldMeasureSystemTime; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13640:16: note: crosses initialization of ‘ecs_time_t t’ 13640 | ecs_time_t t = {0}; | ^ ../src/flecs/distr/flecs.c:13966:1: error: jump to label ‘error’ 13966 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13632:5: note: in expansion of macro ‘ecs_check’ 13632 | ecs_check(desc->event != EcsWildcard, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13737:28: note: crosses initialization of ‘ecs_event_id_record_t* iders [5]’ 13737 | ecs_event_id_record_t *iders[5] = {0}; | ^~~~~ ../src/flecs/distr/flecs.c:13735:10: note: crosses initialization of ‘bool has_observed’ 13735 | bool has_observed = table_flags & EcsTableHasTraversable; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13732:10: note: crosses initialization of ‘bool can_forward’ 13732 | bool can_forward = event != EcsOnSet; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13725:10: note: crosses initialization of ‘bool can_override’ 13725 | bool can_override = count && (table_flags & EcsTableHasIsA) && ( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13720:15: note: crosses initialization of ‘ecs_id_t* id_array’ 13720 | ecs_id_t *id_array = ids->array; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13719:13: note: crosses initialization of ‘int32_t id_count’ 13719 | int32_t id_count = ids->count; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13712:19: note: crosses initialization of ‘ecs_column_t* columns’ 13712 | ecs_column_t *columns = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13711:17: note: crosses initialization of ‘ecs_data_t* storage’ 13711 | ecs_data_t *storage = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13709:31: note: crosses initialization of ‘const ecs_event_record_t* er_onset’ 13709 | const ecs_event_record_t *er_onset = flecs_event_record_get_if(observable, EcsOnSet); | ^~~~~~~~ ../src/flecs/distr/flecs.c:13708:31: note: crosses initialization of ‘const ecs_event_record_t* wcer’ 13708 | const ecs_event_record_t *wcer = flecs_event_record_get_if(observable, EcsWildcard); | ^~~~ ../src/flecs/distr/flecs.c:13707:31: note: crosses initialization of ‘const ecs_event_record_t* er’ 13707 | const ecs_event_record_t *er = flecs_event_record_get_if(observable, event); | ^~ ../src/flecs/distr/flecs.c:13697:23: note: crosses initialization of ‘ecs_observable_t* observable’ 13697 | ecs_observable_t *observable = ecs_get_observable(desc->observable); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:13679:16: note: crosses initialization of ‘ecs_iter_t it’ 13679 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:13677:18: note: crosses initialization of ‘ecs_entity_t sources_cache’ 13677 | ecs_entity_t sources_cache = 0; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13676:31: note: crosses initialization of ‘const ecs_table_record_t* trs_cache’ 13676 | const ecs_table_record_t* trs_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13675:16: note: crosses initialization of ‘ecs_size_t sizes_cache’ 13675 | ecs_size_t sizes_cache = 0; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13674:14: note: crosses initialization of ‘ecs_id_t ids_cache’ 13674 | ecs_id_t ids_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13672:13: note: crosses initialization of ‘int32_t evtx’ 13672 | int32_t evtx = ++world->event_id; | ^~~~ ../src/flecs/distr/flecs.c:13661:10: note: crosses initialization of ‘bool table_event’ 13661 | bool table_event = desc->flags & EcsEventTableOnly; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13654:13: note: crosses initialization of ‘int32_t defer’ 13654 | int32_t defer = world->stages[0]->defer; | ^~~~~ ../src/flecs/distr/flecs.c:13651:19: note: crosses initialization of ‘ecs_flags32_t table_flags’ 13651 | ecs_flags32_t table_flags = table->flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13650:16: note: crosses initialization of ‘int32_t count’ 13650 | int32_t i, count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:13649:13: note: crosses initialization of ‘int32_t offset’ 13649 | int32_t offset = desc->offset; | ^~~~~~ ../src/flecs/distr/flecs.c:13648:40: note: crosses initialization of ‘ecs_table_t* other_table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13648:18: note: crosses initialization of ‘ecs_table_t* table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~ ../src/flecs/distr/flecs.c:13647:18: note: crosses initialization of ‘ecs_entity_t event’ 13647 | ecs_entity_t event = desc->event; | ^~~~~ ../src/flecs/distr/flecs.c:13646:23: note: crosses initialization of ‘const ecs_type_t* ids’ 13646 | const ecs_type_t *ids = desc->ids; | ^~~ ../src/flecs/distr/flecs.c:13641:10: note: crosses initialization of ‘bool measure_time’ 13641 | bool measure_time = world->flags & EcsWorldMeasureSystemTime; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13640:16: note: crosses initialization of ‘ecs_time_t t’ 13640 | ecs_time_t t = {0}; | ^ ../src/flecs/distr/flecs.c:13966:1: error: jump to label ‘error’ 13966 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13631:5: note: in expansion of macro ‘ecs_check’ 13631 | ecs_check(desc->event != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13737:28: note: crosses initialization of ‘ecs_event_id_record_t* iders [5]’ 13737 | ecs_event_id_record_t *iders[5] = {0}; | ^~~~~ ../src/flecs/distr/flecs.c:13735:10: note: crosses initialization of ‘bool has_observed’ 13735 | bool has_observed = table_flags & EcsTableHasTraversable; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13732:10: note: crosses initialization of ‘bool can_forward’ 13732 | bool can_forward = event != EcsOnSet; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13725:10: note: crosses initialization of ‘bool can_override’ 13725 | bool can_override = count && (table_flags & EcsTableHasIsA) && ( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13720:15: note: crosses initialization of ‘ecs_id_t* id_array’ 13720 | ecs_id_t *id_array = ids->array; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13719:13: note: crosses initialization of ‘int32_t id_count’ 13719 | int32_t id_count = ids->count; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13712:19: note: crosses initialization of ‘ecs_column_t* columns’ 13712 | ecs_column_t *columns = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13711:17: note: crosses initialization of ‘ecs_data_t* storage’ 13711 | ecs_data_t *storage = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13709:31: note: crosses initialization of ‘const ecs_event_record_t* er_onset’ 13709 | const ecs_event_record_t *er_onset = flecs_event_record_get_if(observable, EcsOnSet); | ^~~~~~~~ ../src/flecs/distr/flecs.c:13708:31: note: crosses initialization of ‘const ecs_event_record_t* wcer’ 13708 | const ecs_event_record_t *wcer = flecs_event_record_get_if(observable, EcsWildcard); | ^~~~ ../src/flecs/distr/flecs.c:13707:31: note: crosses initialization of ‘const ecs_event_record_t* er’ 13707 | const ecs_event_record_t *er = flecs_event_record_get_if(observable, event); | ^~ ../src/flecs/distr/flecs.c:13697:23: note: crosses initialization of ‘ecs_observable_t* observable’ 13697 | ecs_observable_t *observable = ecs_get_observable(desc->observable); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:13679:16: note: crosses initialization of ‘ecs_iter_t it’ 13679 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:13677:18: note: crosses initialization of ‘ecs_entity_t sources_cache’ 13677 | ecs_entity_t sources_cache = 0; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13676:31: note: crosses initialization of ‘const ecs_table_record_t* trs_cache’ 13676 | const ecs_table_record_t* trs_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13675:16: note: crosses initialization of ‘ecs_size_t sizes_cache’ 13675 | ecs_size_t sizes_cache = 0; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13674:14: note: crosses initialization of ‘ecs_id_t ids_cache’ 13674 | ecs_id_t ids_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13672:13: note: crosses initialization of ‘int32_t evtx’ 13672 | int32_t evtx = ++world->event_id; | ^~~~ ../src/flecs/distr/flecs.c:13661:10: note: crosses initialization of ‘bool table_event’ 13661 | bool table_event = desc->flags & EcsEventTableOnly; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13654:13: note: crosses initialization of ‘int32_t defer’ 13654 | int32_t defer = world->stages[0]->defer; | ^~~~~ ../src/flecs/distr/flecs.c:13651:19: note: crosses initialization of ‘ecs_flags32_t table_flags’ 13651 | ecs_flags32_t table_flags = table->flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13650:16: note: crosses initialization of ‘int32_t count’ 13650 | int32_t i, count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:13649:13: note: crosses initialization of ‘int32_t offset’ 13649 | int32_t offset = desc->offset; | ^~~~~~ ../src/flecs/distr/flecs.c:13648:40: note: crosses initialization of ‘ecs_table_t* other_table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13648:18: note: crosses initialization of ‘ecs_table_t* table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~ ../src/flecs/distr/flecs.c:13647:18: note: crosses initialization of ‘ecs_entity_t event’ 13647 | ecs_entity_t event = desc->event; | ^~~~~ ../src/flecs/distr/flecs.c:13646:23: note: crosses initialization of ‘const ecs_type_t* ids’ 13646 | const ecs_type_t *ids = desc->ids; | ^~~ ../src/flecs/distr/flecs.c:13641:10: note: crosses initialization of ‘bool measure_time’ 13641 | bool measure_time = world->flags & EcsWorldMeasureSystemTime; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13640:16: note: crosses initialization of ‘ecs_time_t t’ 13640 | ecs_time_t t = {0}; | ^ ../src/flecs/distr/flecs.c:13966:1: error: jump to label ‘error’ 13966 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13630:5: note: in expansion of macro ‘ecs_check’ 13630 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13737:28: note: crosses initialization of ‘ecs_event_id_record_t* iders [5]’ 13737 | ecs_event_id_record_t *iders[5] = {0}; | ^~~~~ ../src/flecs/distr/flecs.c:13735:10: note: crosses initialization of ‘bool has_observed’ 13735 | bool has_observed = table_flags & EcsTableHasTraversable; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13732:10: note: crosses initialization of ‘bool can_forward’ 13732 | bool can_forward = event != EcsOnSet; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13725:10: note: crosses initialization of ‘bool can_override’ 13725 | bool can_override = count && (table_flags & EcsTableHasIsA) && ( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13720:15: note: crosses initialization of ‘ecs_id_t* id_array’ 13720 | ecs_id_t *id_array = ids->array; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13719:13: note: crosses initialization of ‘int32_t id_count’ 13719 | int32_t id_count = ids->count; | ^~~~~~~~ ../src/flecs/distr/flecs.c:13712:19: note: crosses initialization of ‘ecs_column_t* columns’ 13712 | ecs_column_t *columns = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13711:17: note: crosses initialization of ‘ecs_data_t* storage’ 13711 | ecs_data_t *storage = NULL; | ^~~~~~~ ../src/flecs/distr/flecs.c:13709:31: note: crosses initialization of ‘const ecs_event_record_t* er_onset’ 13709 | const ecs_event_record_t *er_onset = flecs_event_record_get_if(observable, EcsOnSet); | ^~~~~~~~ ../src/flecs/distr/flecs.c:13708:31: note: crosses initialization of ‘const ecs_event_record_t* wcer’ 13708 | const ecs_event_record_t *wcer = flecs_event_record_get_if(observable, EcsWildcard); | ^~~~ ../src/flecs/distr/flecs.c:13707:31: note: crosses initialization of ‘const ecs_event_record_t* er’ 13707 | const ecs_event_record_t *er = flecs_event_record_get_if(observable, event); | ^~ ../src/flecs/distr/flecs.c:13697:23: note: crosses initialization of ‘ecs_observable_t* observable’ 13697 | ecs_observable_t *observable = ecs_get_observable(desc->observable); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:13679:16: note: crosses initialization of ‘ecs_iter_t it’ 13679 | ecs_iter_t it = { | ^~ ../src/flecs/distr/flecs.c:13677:18: note: crosses initialization of ‘ecs_entity_t sources_cache’ 13677 | ecs_entity_t sources_cache = 0; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13676:31: note: crosses initialization of ‘const ecs_table_record_t* trs_cache’ 13676 | const ecs_table_record_t* trs_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13675:16: note: crosses initialization of ‘ecs_size_t sizes_cache’ 13675 | ecs_size_t sizes_cache = 0; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13674:14: note: crosses initialization of ‘ecs_id_t ids_cache’ 13674 | ecs_id_t ids_cache = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:13672:13: note: crosses initialization of ‘int32_t evtx’ 13672 | int32_t evtx = ++world->event_id; | ^~~~ ../src/flecs/distr/flecs.c:13661:10: note: crosses initialization of ‘bool table_event’ 13661 | bool table_event = desc->flags & EcsEventTableOnly; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13654:13: note: crosses initialization of ‘int32_t defer’ 13654 | int32_t defer = world->stages[0]->defer; | ^~~~~ ../src/flecs/distr/flecs.c:13651:19: note: crosses initialization of ‘ecs_flags32_t table_flags’ 13651 | ecs_flags32_t table_flags = table->flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13650:16: note: crosses initialization of ‘int32_t count’ 13650 | int32_t i, count = desc->count; | ^~~~~ ../src/flecs/distr/flecs.c:13649:13: note: crosses initialization of ‘int32_t offset’ 13649 | int32_t offset = desc->offset; | ^~~~~~ ../src/flecs/distr/flecs.c:13648:40: note: crosses initialization of ‘ecs_table_t* other_table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:13648:18: note: crosses initialization of ‘ecs_table_t* table’ 13648 | ecs_table_t *table = desc->table, *other_table = desc->other_table; | ^~~~~ ../src/flecs/distr/flecs.c:13647:18: note: crosses initialization of ‘ecs_entity_t event’ 13647 | ecs_entity_t event = desc->event; | ^~~~~ ../src/flecs/distr/flecs.c:13646:23: note: crosses initialization of ‘const ecs_type_t* ids’ 13646 | const ecs_type_t *ids = desc->ids; | ^~~ ../src/flecs/distr/flecs.c:13641:10: note: crosses initialization of ‘bool measure_time’ 13641 | bool measure_time = world->flags & EcsWorldMeasureSystemTime; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13640:16: note: crosses initialization of ‘ecs_time_t t’ 13640 | ecs_time_t t = {0}; | ^ ../src/flecs/distr/flecs.c: In function ‘void ecs_emit(ecs_world_t*, ecs_event_desc_t*)’: ../src/flecs/distr/flecs.c:14008:5: error: designator order for field ‘ecs_type_t::array’ does not match declaration order in ‘ecs_type_t’ 14008 | }; | ^ ../src/flecs/distr/flecs.c:14026:1: error: jump to label ‘error’ 14026 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13983:5: note: in expansion of macro ‘ecs_check’ 13983 | ecs_check(!(desc->param && desc->const_param), ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:14005:16: note: crosses initialization of ‘ecs_type_t default_ids’ 14005 | ecs_type_t default_ids = (ecs_type_t){ | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:14026:1: error: jump to label ‘error’ 14026 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:13982:5: note: in expansion of macro ‘ecs_check’ 13982 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:14005:16: note: crosses initialization of ‘ecs_type_t default_ids’ 14005 | ecs_type_t default_ids = (ecs_type_t){ | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_inc_observer_count(ecs_world_t*, ecs_entity_t, ecs_event_record_t*, ecs_id_t, int32_t)’: ../src/flecs/distr/flecs.c:14120:60: error: taking address of rvalue [-fpermissive] 14120 | flecs_notify_tables(world, id, &(ecs_table_event_t){ | ^ 14121 | .kind = EcsTableTriggersForId, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14122 | .event = event | ~~~~~~~~~~~~~~ 14123 | }); | ~ ../src/flecs/distr/flecs.c:14134:60: error: taking address of rvalue [-fpermissive] 14134 | flecs_notify_tables(world, id, &(ecs_table_event_t){ | ^ 14135 | .kind = EcsTableNoTriggersForId, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14136 | .event = event | ~~~~~~~~~~~~~~ 14137 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_register_observer_for_id(ecs_world_t*, ecs_observable_t*, ecs_observer_t*, size_t)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14175:33: note: in expansion of macro ‘flecs_observer_impl’ 14175 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_map_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:14194:32: note: in expansion of macro ‘ECS_OFFSET’ 14194 | ecs_map_t *observers = ECS_OFFSET(idt, offset); | ^~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_unregister_observer_for_id(ecs_world_t*, ecs_observable_t*, ecs_observer_t*, size_t)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14235:33: note: in expansion of macro ‘flecs_observer_impl’ 14235 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_map_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:14253:35: note: in expansion of macro ‘ECS_OFFSET’ 14253 | ecs_map_t *id_observers = ECS_OFFSET(idt, offset); | ^~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘bool flecs_ignore_observer(ecs_observer_t*, ecs_table_t*, ecs_iter_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14302:33: note: in expansion of macro ‘flecs_observer_impl’ 14302 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_default_uni_observer_run_callback(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:14402:29: error: invalid conversion from ‘void*’ to ‘ecs_observer_t*’ [-fpermissive] 14402 | ecs_observer_t *o = it->ctx; | ~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_uni_observer_invoke(ecs_world_t*, ecs_observer_t*, ecs_iter_t*, ecs_table_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14436:33: note: in expansion of macro ‘flecs_observer_impl’ 14436 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_observers_invoke(ecs_world_t*, ecs_map_t*, ecs_iter_t*, ecs_table_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_observer_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14479:33: note: in expansion of macro ‘ecs_map_ptr’ 14479 | ecs_observer_t *o = ecs_map_ptr(&oit); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_multi_observer_invoke(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:14493:29: error: invalid conversion from ‘void*’ to ‘ecs_observer_t*’ [-fpermissive] 14493 | ecs_observer_t *o = it->ctx; | ~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14496:33: note: in expansion of macro ‘flecs_observer_impl’ 14496 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_multi_observer_invoke_no_query(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:14609:29: error: invalid conversion from ‘void*’ to ‘ecs_observer_t*’ [-fpermissive] 14609 | ecs_observer_t *o = it->ctx; | ~~~~^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_multi_observer_builtin_run(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:14655:29: error: invalid conversion from ‘void*’ to ‘ecs_observer_t*’ [-fpermissive] 14655 | ecs_observer_t *o = it->ctx; | ~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14659:13: note: in expansion of macro ‘flecs_observer_impl’ 14659 | if (flecs_observer_impl(o)->flags & EcsObserverBypassQuery) { | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_uni_observer_init(ecs_world_t*, ecs_observer_t*, const ecs_observer_desc_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14732:33: note: in expansion of macro ‘flecs_observer_impl’ 14732 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_observer_add_child(ecs_world_t*, ecs_observer_t*, const ecs_observer_desc_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14780:33: note: in expansion of macro ‘flecs_observer_impl’ 14780 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_multi_observer_init(ecs_world_t*, ecs_observer_t*, const ecs_observer_desc_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14793:33: note: in expansion of macro ‘flecs_observer_impl’ 14793 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14967:9: note: in expansion of macro ‘flecs_observer_impl’ 14967 | flecs_observer_impl(o)->not_query = | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_observer_poly_fini(void*)’: ../src/flecs/distr/flecs.c:14978:25: error: invalid conversion from ‘void*’ to ‘ecs_observer_t*’ [-fpermissive] 14978 | flecs_observer_fini(ptr); | ^~~ | | | void* ../src/flecs/distr/flecs.c:2540:21: note: initializing argument 1 of ‘void flecs_observer_fini(ecs_observer_t*)’ 2540 | ecs_observer_t *observer); | ~~~~~~~~~~~~~~~~^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_observer_t* flecs_observer_init(ecs_world_t*, ecs_entity_t, const ecs_observer_desc_t*)’: ../src/flecs/distr/flecs.c:15020:42: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_observable_t*’ [-fpermissive] 15020 | ecs_observable_t *observable = desc->observable; | ~~~~~~^~~~~~~~~~ | | | ecs_poly_t* {aka void*} ../src/flecs/distr/flecs.c:15112:1: error: jump to label ‘error’ 15112 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15080:5: note: in expansion of macro ‘ecs_check’ 15080 | ecs_check(o->event_count != 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15096:10: note: crosses initialization of ‘bool is_monitor’ 15096 | bool is_monitor = impl->flags & EcsObserverIsMonitor; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:15083:10: note: crosses initialization of ‘bool multi’ 15083 | bool multi = false; | ^~~~~ ../src/flecs/distr/flecs.c:15112:1: error: jump to label ‘error’ 15112 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15054:13: note: in expansion of macro ‘ecs_check’ 15054 | ecs_check(i == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15096:10: note: crosses initialization of ‘bool is_monitor’ 15096 | bool is_monitor = impl->flags & EcsObserverIsMonitor; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:15083:10: note: crosses initialization of ‘bool multi’ 15083 | bool multi = false; | ^~~~~ ../src/flecs/distr/flecs.c:15112:1: error: jump to label ‘error’ 15112 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15038:5: note: in expansion of macro ‘ecs_check’ 15038 | ecs_check(!(desc->yield_existing && | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15096:10: note: crosses initialization of ‘bool is_monitor’ 15096 | bool is_monitor = impl->flags & EcsObserverIsMonitor; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:15083:10: note: crosses initialization of ‘bool multi’ 15083 | bool multi = false; | ^~~~~ ../src/flecs/distr/flecs.c:15112:1: error: jump to label ‘error’ 15112 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15017:5: note: in expansion of macro ‘ecs_check’ 15017 | ecs_check(o->query->term_count > 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15096:10: note: crosses initialization of ‘bool is_monitor’ 15096 | bool is_monitor = impl->flags & EcsObserverIsMonitor; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:15083:10: note: crosses initialization of ‘bool multi’ 15083 | bool multi = false; | ^~~~~ ../src/flecs/distr/flecs.c:15020:23: note: crosses initialization of ‘ecs_observable_t* observable’ 15020 | ecs_observable_t *observable = desc->observable; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:15112:1: error: jump to label ‘error’ 15112 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:14988:5: note: in expansion of macro ‘ecs_check’ 14988 | ecs_check(desc->callback != NULL || desc->run != NULL, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15096:10: note: crosses initialization of ‘bool is_monitor’ 15096 | bool is_monitor = impl->flags & EcsObserverIsMonitor; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:15083:10: note: crosses initialization of ‘bool multi’ 15083 | bool multi = false; | ^~~~~ ../src/flecs/distr/flecs.c:15020:23: note: crosses initialization of ‘ecs_observable_t* observable’ 15020 | ecs_observable_t *observable = desc->observable; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:15008:18: note: crosses initialization of ‘ecs_query_t* query’ 15008 | ecs_query_t *query = o->query = ecs_query_init( | ^~~~~ ../src/flecs/distr/flecs.c:15003:22: note: crosses initialization of ‘ecs_query_desc_t query_desc’ 15003 | ecs_query_desc_t query_desc = desc->query; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:14996:21: note: crosses initialization of ‘ecs_observer_t* o’ 14996 | ecs_observer_t *o = &impl->pub; | ^ ../src/flecs/distr/flecs.c:14992:26: note: crosses initialization of ‘ecs_observer_impl_t* impl’ 14992 | ecs_observer_impl_t *impl = flecs_sparse_add_t( | ^~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_observer_init(ecs_world_t*, const ecs_observer_desc_t*)’: ../src/flecs/distr/flecs.c:15130:36: error: taking address of rvalue [-fpermissive] 15130 | entity = ecs_entity(world, {0}); | ^~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:15211:1: error: jump to label ‘error’ 15211 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15125:5: note: in expansion of macro ‘ecs_check’ 15125 | ecs_check(!(world->flags & EcsWorldFini), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15133:14: note: crosses initialization of ‘EcsPoly* poly’ 15133 | EcsPoly *poly = flecs_poly_bind(world, entity, ecs_observer_t); | ^~~~ ../src/flecs/distr/flecs.c:15211:1: error: jump to label ‘error’ 15211 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15123:5: note: in expansion of macro ‘ecs_check’ 15123 | ecs_check(desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15133:14: note: crosses initialization of ‘EcsPoly* poly’ 15133 | EcsPoly *poly = flecs_poly_bind(world, entity, ecs_observer_t); | ^~~~ ../src/flecs/distr/flecs.c:15211:1: error: jump to label ‘error’ 15211 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15122:5: note: in expansion of macro ‘ecs_check’ 15122 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15133:14: note: crosses initialization of ‘EcsPoly* poly’ 15133 | EcsPoly *poly = flecs_poly_bind(world, entity, ecs_observer_t); | ^~~~ ../src/flecs/distr/flecs.c:15211:1: error: jump to label ‘error’ 15211 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15121:5: note: in expansion of macro ‘ecs_check’ 15121 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:15133:14: note: crosses initialization of ‘EcsPoly* poly’ 15133 | EcsPoly *poly = flecs_poly_bind(world, entity, ecs_observer_t); | ^~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_observer_fini(ecs_observer_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15231:33: note: in expansion of macro ‘flecs_observer_impl’ 15231 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15238:50: error: invalid conversion from ‘void*’ to ‘ecs_observer_t**’ [-fpermissive] 15238 | ecs_observer_t **children = ecs_vec_first(&impl->children); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_observer_set_disable_bit(ecs_world_t*, ecs_entity_t, ecs_flags32_t, bool)’: ../src/flecs/distr/flecs.c:15291:31: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_observer_t*’ [-fpermissive] 15291 | ecs_observer_t *o = poly->poly; | ~~~~~~^~~~ | | | ecs_poly_t* {aka void*} In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15292:33: note: in expansion of macro ‘flecs_observer_impl’ 15292 | ecs_observer_impl_t *impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15294:50: error: invalid conversion from ‘void*’ to ‘ecs_observer_t**’ [-fpermissive] 15294 | ecs_observer_t **children = ecs_vec_first(&impl->children); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:3952:34: note: in definition of macro ‘ECS_BIT_SET’ 3952 | #define ECS_BIT_SET(flags, bit) (flags) |= (bit) | ^~~~~ ../src/flecs/distr/flecs.c:15298:17: note: in expansion of macro ‘ECS_BIT_COND’ 15298 | ECS_BIT_COND(flecs_observer_impl(children[i])->flags, bit, cond); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15298:30: note: in expansion of macro ‘flecs_observer_impl’ 15298 | ECS_BIT_COND(flecs_observer_impl(children[i])->flags, bit, cond); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:3953:36: note: in definition of macro ‘ECS_BIT_CLEAR’ 3953 | #define ECS_BIT_CLEAR(flags, bit) (flags) &= ~(bit) | ^~~~~ ../src/flecs/distr/flecs.c:15298:17: note: in expansion of macro ‘ECS_BIT_COND’ 15298 | ECS_BIT_COND(flecs_observer_impl(children[i])->flags, bit, cond); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:15298:30: note: in expansion of macro ‘flecs_observer_impl’ 15298 | ECS_BIT_COND(flecs_observer_impl(children[i])->flags, bit, cond); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:15328:1: error: designator order for field ‘ecs_os_api_t::log_level_’ does not match declaration order in ‘ecs_os_api_t’ 15328 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘void flecs_dump_backtrace(void*)’: ../src/flecs/distr/flecs.c:15398:17: error: invalid conversion from ‘void*’ to ‘FILE*’ [-fpermissive] 15398 | fprintf(stream, "%s\n", strings[j]); | ^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.h:2234, from ../src/flecs/distr/flecs.c:19: /usr/include/stdio.h:350:38: note: initializing argument 1 of ‘int fprintf(FILE*, const char*, ...)’ 350 | extern int fprintf (FILE *__restrict __stream, | ~~~~~~~~~~~~~~~~~^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘char* ecs_os_api_strdup(const char*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:15643:24: note: in expansion of macro ‘ecs_os_malloc’ 15643 | char *result = ecs_os_malloc(len + 1); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:15886:1: sorry, unimplemented: non-trivial designated initializers not supported 15886 | }; | ^ ../src/flecs/distr/flecs.c:15902:1: sorry, unimplemented: non-trivial designated initializers not supported 15902 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘void* assert_mixin(const ecs_poly_t*, ecs_mixin_kind_t)’: ../src/flecs/distr/flecs.c:15912:31: error: invalid conversion from ‘const ecs_poly_t*’ {aka ‘const void*’} to ‘const ecs_header_t*’ [-fpermissive] 15912 | const ecs_header_t *hdr = poly; | ^~~~ | | | const ecs_poly_t* {aka const void*} ../src/flecs/distr/flecs.c: In function ‘void* flecs_poly_init_(ecs_poly_t*, int32_t, ecs_size_t, ecs_mixins_t*)’: ../src/flecs/distr/flecs.c:15938:25: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_header_t*’ [-fpermissive] 15938 | ecs_header_t *hdr = poly; | ^~~~ | | | ecs_poly_t* {aka void*} ../src/flecs/distr/flecs.c: In function ‘void flecs_poly_fini_(ecs_poly_t*, int32_t)’: ../src/flecs/distr/flecs.c:15956:25: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_header_t*’ [-fpermissive] 15956 | ecs_header_t *hdr = poly; | ^~~~ | | | ecs_poly_t* {aka void*} ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_poly_claim_(ecs_poly_t*)’: ../src/flecs/distr/flecs.c:15970:25: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_header_t*’ [-fpermissive] 15970 | ecs_header_t *hdr = poly; | ^~~~ | | | ecs_poly_t* {aka void*} ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_poly_release_(ecs_poly_t*)’: ../src/flecs/distr/flecs.c:15984:25: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_header_t*’ [-fpermissive] 15984 | ecs_header_t *hdr = poly; | ^~~~ | | | ecs_poly_t* {aka void*} ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_poly_refcount(ecs_poly_t*)’: ../src/flecs/distr/flecs.c:15998:25: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_header_t*’ [-fpermissive] 15998 | ecs_header_t *hdr = poly; | ^~~~ | | | ecs_poly_t* {aka void*} ../src/flecs/distr/flecs.c: In function ‘bool flecs_poly_is_(const ecs_poly_t*, int32_t)’: ../src/flecs/distr/flecs.c:16067:31: error: invalid conversion from ‘const ecs_poly_t*’ {aka ‘const void*’} to ‘const ecs_header_t*’ [-fpermissive] 16067 | const ecs_header_t *hdr = poly; | ^~~~ | | | const ecs_poly_t* {aka const void*} ../src/flecs/distr/flecs.c: In function ‘const ecs_world_t* ecs_get_world(const ecs_poly_t*)’: ../src/flecs/distr/flecs.c:16083:16: error: invalid conversion from ‘const ecs_poly_t*’ {aka ‘const void*’} to ‘const ecs_world_t*’ [-fpermissive] 16083 | return poly; | ^~~~ | | | const ecs_poly_t* {aka const void*} ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_type_search(const ecs_table_t*, ecs_id_record_t*, ecs_id_t*, ecs_id_t*, ecs_table_record_t**)’: ../src/flecs/distr/flecs.c:16118:49: error: invalid conversion from ‘void*’ to ‘ecs_table_record_t*’ [-fpermissive] 16118 | ecs_table_record_t *tr = ecs_table_cache_get(&idr->cache, table); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘bool flecs_defer_bulk_new(ecs_world_t*, ecs_stage_t*, int32_t, ecs_id_t, const ecs_entity_t**)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:16724:29: note: in expansion of macro ‘ecs_os_malloc’ 16724 | ecs_entity_t *ids = ecs_os_malloc(count * ECS_SIZEOF(ecs_entity_t)); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void* flecs_defer_set(ecs_world_t*, ecs_stage_t*, ecs_cmd_kind_t, ecs_entity_t, ecs_id_t, ecs_size_t, void*, bool*)’: ../src/flecs/distr/flecs.c:16843:58: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 16843 | existing = flecs_sparse_get_any(idr->sparse, 0, entity); | ~~~~~^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:1411:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 1411 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:16959:1: error: jump to label ‘error’ 16959 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:16815:5: note: in expansion of macro ‘ecs_check’ 16815 | ecs_check(ti != NULL, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:16851:10: note: crosses initialization of ‘bool emplace’ 16851 | bool emplace = cmd_kind == EcsCmdEmplace; | ^~~~~~~ ../src/flecs/distr/flecs.c:16850:11: note: crosses initialization of ‘void* cmd_value’ 16850 | void *cmd_value = existing; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:16826:18: note: crosses initialization of ‘ecs_table_t* table’ 16826 | ecs_table_t *table = NULL; | ^~~~~ ../src/flecs/distr/flecs.c:16825:11: note: crosses initialization of ‘void* existing’ 16825 | void *existing = NULL; | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_enqueue(ecs_world_t*, ecs_stage_t*, ecs_event_desc_t*)’: ../src/flecs/distr/flecs.h:1635:22: error: invalid conversion from ‘void*’ to ‘ecs_event_desc_t*’ [-fpermissive] 1635 | flecs_stack_alloc(stack, ECS_SIZEOF(T), ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:16973:34: note: in expansion of macro ‘flecs_stack_alloc_t’ 16973 | ecs_event_desc_t *desc_cmd = flecs_stack_alloc_t(stack, ecs_event_desc_t); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1635:22: error: invalid conversion from ‘void*’ to ‘ecs_type_t*’ [-fpermissive] 1635 | flecs_stack_alloc(stack, ECS_SIZEOF(T), ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:16977:32: note: in expansion of macro ‘flecs_stack_alloc_t’ 16977 | ecs_type_t *type_cmd = flecs_stack_alloc_t(stack, ecs_type_t); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1638:22: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 1638 | flecs_stack_alloc(stack, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:16980:27: note: in expansion of macro ‘flecs_stack_alloc_n’ 16980 | type_cmd->array = flecs_stack_alloc_n(stack, ecs_id_t, id_count); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_stage_merge_post_frame(ecs_world_t*, ecs_stage_t*)’: ../src/flecs/distr/flecs.c:17025:45: error: invalid conversion from ‘void*’ to ‘ecs_action_elem_t*’ [-fpermissive] 17025 | ecs_action_elem_t *elems = ecs_vec_first(&stage->post_frame_actions); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_stage_t* flecs_stage_new(ecs_world_t*)’: ../src/flecs/distr/flecs.h:2616:47: error: invalid conversion from ‘void*’ to ‘ecs_stage_t*’ [-fpermissive] 2616 | #define ecs_os_calloc(size) ecs_os_api.calloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:17087:26: note: in expansion of macro ‘ecs_os_calloc’ 17087 | ecs_stage_t *stage = ecs_os_calloc(sizeof(ecs_stage_t)); | ^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_stage_get_id(const ecs_world_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_world_t*’ to type ‘ecs_stage_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:17257:30: note: in expansion of macro ‘ECS_CONST_CAST’ 17257 | ecs_stage_t *stage = ECS_CONST_CAST(ecs_stage_t*, world); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_is_deferred(const ecs_world_t*)’: ../src/flecs/distr/flecs.c:17371:1: error: jump to label ‘error’ 17371 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:17368:5: note: in expansion of macro ‘ecs_check’ 17368 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:17369:24: note: crosses initialization of ‘const ecs_stage_t* stage’ 17369 | const ecs_stage_t *stage = flecs_stage_from_readonly_world(world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void* ecs_value_new_w_type_info(ecs_world_t*, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:17430:1: error: jump to label ‘error’ 17430 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:17420:5: note: in expansion of macro ‘ecs_check’ 17420 | ecs_check(ti != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:17423:11: note: crosses initialization of ‘void* result’ 17423 | void *result = flecs_alloc(&world->allocator, ti->size); | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_stage_t* flecs_stage_from_readonly_world(const ecs_world_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_world_t*’ to type ‘ecs_stage_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:17955:16: note: in expansion of macro ‘ECS_CONST_CAST’ 17955 | return ECS_CONST_CAST(ecs_stage_t*, world); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_stage_t* flecs_stage_from_world(ecs_world_t**)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_world_t*’ to type ‘ecs_stage_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:17976:12: note: in expansion of macro ‘ECS_CONST_CAST’ 17976 | return ECS_CONST_CAST(ecs_stage_t*, world); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_eval_component_monitor(ecs_world_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_monitor_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:18074:28: note: in expansion of macro ‘ecs_map_ptr’ 18074 | ecs_monitor_t *m = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:18082:44: error: invalid conversion from ‘void*’ to ‘ecs_query_t**’ [-fpermissive] 18082 | ecs_query_t **elems = ecs_vec_first(&m->queries); | ~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:18086:75: error: taking address of rvalue [-fpermissive] 18086 | flecs_query_cache_notify(world, q, &(ecs_query_cache_event_t) { | ^ 18087 | .kind = EcsQueryTableRematch | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18088 | }); | ~ ../src/flecs/distr/flecs.c: In function ‘void flecs_monitor_unregister(ecs_world_t*, ecs_entity_t, ecs_query_t*)’: ../src/flecs/distr/flecs.c:18155:42: error: invalid conversion from ‘void*’ to ‘ecs_query_t**’ [-fpermissive] 18155 | ecs_query_t **queries = ecs_vec_first(&m->queries); | ~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_fini_root_tables(ecs_world_t*, ecs_id_record_t*, bool)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:18249:18: note: in expansion of macro ‘flecs_table_cache_next’ 18249 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:18466:1: error: designator order for field ‘ecs_build_info_t::version’ does not match declaration order in ‘const ecs_build_info_t’ 18466 | }; | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_world_t* ecs_init_w_args(int, char**)’: ../src/flecs/distr/flecs.c:18638:67: error: taking address of rvalue [-fpermissive] 18638 | ecs_set_pair(world, EcsWorld, EcsDocDescription, EcsName, {app}); | ^~~~~ ../src/flecs/distr/flecs.h:9793:32: note: in definition of macro ‘ecs_set_pair’ 9793 | sizeof(First), &(First)__VA_ARGS__) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_notify_tables(ecs_world_t*, ecs_id_t, ecs_table_event_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:18692:22: note: in expansion of macro ‘flecs_table_cache_next’ 18692 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_set_hooks_id(ecs_world_t*, ecs_entity_t, const ecs_type_hooks_t*)’: ../src/flecs/distr/flecs.c:18890:1: error: jump to label ‘error’ 18890 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:18780:5: note: in expansion of macro ‘ecs_check’ 18780 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:18790:22: note: crosses initialization of ‘ecs_type_info_t* ti’ 18790 | ecs_type_info_t *ti = flecs_type_info_ensure(world, component); | ^~ ../src/flecs/distr/flecs.c: In function ‘void ecs_atfini(ecs_world_t*, ecs_fini_action_t, void*)’: ../src/flecs/distr/flecs.c:18919:1: error: jump to label ‘error’ 18919 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:18911:5: note: in expansion of macro ‘ecs_check’ 18911 | ecs_check(action != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:18913:24: note: crosses initialization of ‘ecs_action_elem_t* elem’ 18913 | ecs_action_elem_t *elem = ecs_vec_append_t(NULL, &world->fini_actions, | ^~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_run_post_frame(ecs_world_t*, ecs_fini_action_t, void*)’: ../src/flecs/distr/flecs.c:18941:1: error: jump to label ‘error’ 18941 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:18932:5: note: in expansion of macro ‘ecs_check’ 18932 | ecs_check((world->flags & EcsWorldFrameInProgress), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:18935:24: note: crosses initialization of ‘ecs_action_elem_t* elem’ 18935 | ecs_action_elem_t *elem = ecs_vec_append_t(&stage->allocator, | ^~~~ ../src/flecs/distr/flecs.c:18941:1: error: jump to label ‘error’ 18941 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:18929:5: note: in expansion of macro ‘ecs_check’ 18929 | ecs_check(action != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:18935:24: note: crosses initialization of ‘ecs_action_elem_t* elem’ 18935 | ecs_action_elem_t *elem = ecs_vec_append_t(&stage->allocator, | ^~~~ ../src/flecs/distr/flecs.c:18931:18: note: crosses initialization of ‘ecs_stage_t* stage’ 18931 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:18941:1: error: jump to label ‘error’ 18941 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:18928:5: note: in expansion of macro ‘ecs_check’ 18928 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:18935:24: note: crosses initialization of ‘ecs_action_elem_t* elem’ 18935 | ecs_action_elem_t *elem = ecs_vec_append_t(&stage->allocator, | ^~~~ ../src/flecs/distr/flecs.c:18931:18: note: crosses initialization of ‘ecs_stage_t* stage’ 18931 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_fini_actions(ecs_world_t*)’: ../src/flecs/distr/flecs.c:18965:45: error: invalid conversion from ‘void*’ to ‘ecs_action_elem_t*’ [-fpermissive] 18965 | ecs_action_elem_t *elems = ecs_vec_first(&world->fini_actions); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void ecs_measure_frame_time(ecs_world_t*, bool)’: ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:19127:9: note: in expansion of macro ‘ECS_EQZERO’ 19127 | if (ECS_EQZERO(world->info.target_fps) || enable) { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_set_entity_range(ecs_world_t*, ecs_entity_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:19226:1: error: jump to label ‘error’ 19226 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:19213:5: note: in expansion of macro ‘ecs_check’ 19213 | ecs_check(!id_end || id_end > id_start, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:19220:14: note: crosses initialization of ‘uint32_t end’ 19220 | uint32_t end = (uint32_t)id_end; | ^~~ ../src/flecs/distr/flecs.c:19219:14: note: crosses initialization of ‘uint32_t start’ 19219 | uint32_t start = (uint32_t)id_start; | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘float flecs_insert_sleep(ecs_world_t*, ecs_time_t*)’: ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:19408:9: note: in expansion of macro ‘ECS_EQZERO’ 19408 | if (ECS_EQZERO(world->info.target_fps)) { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:19428:13: note: in expansion of macro ‘ECS_NEQZERO’ 19428 | if (ECS_NEQZERO(sleep_time)) { | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘float flecs_start_measure_frame(ecs_world_t*, float)’: ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:19453:10: note: in expansion of macro ‘ECS_EQZERO’ 19453 | (ECS_EQZERO(user_delta_time))) | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:19461:21: note: in expansion of macro ‘ECS_NEQZERO’ 19461 | if (ECS_NEQZERO(world->info.target_fps)) { | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:19467:25: note: in expansion of macro ‘ECS_EQZERO’ 19467 | if (ECS_EQZERO(delta_time)) { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:19475:18: note: in expansion of macro ‘ECS_EQZERO’ 19475 | } while (ECS_EQZERO(delta_time)); | ^~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘float ecs_frame_begin(ecs_world_t*, float)’: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:10810:11: note: in definition of macro ‘ecs_assert’ 10810 | if (!(condition)) {\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:19507:5: note: in expansion of macro ‘ecs_check’ 19507 | ecs_check(ECS_NEQZERO(user_delta_time) || ecs_os_has_time(), | ^~~~~~~~~ ../src/flecs/distr/flecs.h:883:23: note: in expansion of macro ‘ecs_os_memcmp’ 883 | #define ECS_EQ(a, b) (ecs_os_memcmp(&(a), &(b), sizeof(a)) == 0) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:19507:15: note: in expansion of macro ‘ECS_NEQZERO’ 19507 | ecs_check(ECS_NEQZERO(user_delta_time) || ecs_os_has_time(), | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.h:713, from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:10857:5: note: in expansion of macro ‘ecs_assert’ 10857 | ecs_assert(condition, error_code, __VA_ARGS__);\ | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:19507:5: note: in expansion of macro ‘ecs_check’ 19507 | ecs_check(ECS_NEQZERO(user_delta_time) || ecs_os_has_time(), | ^~~~~~~~~ ../src/flecs/distr/flecs.h:883:23: note: in expansion of macro ‘ecs_os_memcmp’ 883 | #define ECS_EQ(a, b) (ecs_os_memcmp(&(a), &(b), sizeof(a)) == 0) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:19507:15: note: in expansion of macro ‘ECS_NEQZERO’ 19507 | ecs_check(ECS_NEQZERO(user_delta_time) || ecs_os_has_time(), | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:19512:9: note: in expansion of macro ‘ECS_EQZERO’ 19512 | if (ECS_EQZERO(user_delta_time)) { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:19534:1: error: jump to label ‘error’ 19534 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:19507:5: note: in expansion of macro ‘ecs_check’ 19507 | ecs_check(ECS_NEQZERO(user_delta_time) || ecs_os_has_time(), | ^~~~~~~~~ ../src/flecs/distr/flecs.c:19511:17: note: crosses initialization of ‘float delta_time’ 19511 | ecs_ftime_t delta_time = flecs_start_measure_frame(world, user_delta_time); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:19534:1: error: jump to label ‘error’ 19534 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:19505:5: note: in expansion of macro ‘ecs_check’ 19505 | ecs_check(!(world->flags & EcsWorldFrameInProgress), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:19511:17: note: crosses initialization of ‘float delta_time’ 19511 | ecs_ftime_t delta_time = flecs_start_measure_frame(world, user_delta_time); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:19534:1: error: jump to label ‘error’ 19534 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:19503:5: note: in expansion of macro ‘ecs_check’ 19503 | ecs_check(!(world->flags & EcsWorldReadonly), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:19511:17: note: crosses initialization of ‘float delta_time’ 19511 | ecs_ftime_t delta_time = flecs_start_measure_frame(world, user_delta_time); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_frame_end(ecs_world_t*)’: ../src/flecs/distr/flecs.c:19562:1: error: jump to label ‘error’ 19562 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:19544:5: note: in expansion of macro ‘ecs_check’ 19544 | ecs_check((world->flags & EcsWorldFrameInProgress), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:19549:16: note: crosses initialization of ‘int32_t count’ 19549 | int32_t i, count = world->stage_count; | ^~~~~ ../src/flecs/distr/flecs.c:19562:1: error: jump to label ‘error’ 19562 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:19542:5: note: in expansion of macro ‘ecs_check’ 19542 | ecs_check(!(world->flags & EcsWorldReadonly), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:19549:16: note: crosses initialization of ‘int32_t count’ 19549 | int32_t i, count = world->stage_count; | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_process_empty_queries(ecs_world_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:19595:22: note: in expansion of macro ‘flecs_table_cache_next’ 19595 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:19597:52: error: invalid conversion from ‘void*’ to ‘EcsPoly*’ [-fpermissive] 19597 | EcsPoly *queries = ecs_table_get_column(table, tr->column, 0); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:19601:49: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_query_t*’ [-fpermissive] 19601 | ecs_query_t *query = queries[i].poly; | ~~~~~~~~~~~^~~~ | | | ecs_poly_t* {aka void*} In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_delete_empty_tables(ecs_world_t*, ecs_id_t, uint16_t, uint16_t, int32_t, double)’: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:19776:9: note: in expansion of macro ‘ECS_NEQZERO’ 19776 | if (ECS_NEQZERO(time_budget_seconds) || (ecs_should_log_1() && ecs_os_has_time())) { | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:19780:9: note: in expansion of macro ‘ECS_NEQZERO’ 19780 | if (ECS_NEQZERO(time_budget_seconds)) { | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:19792:22: note: in expansion of macro ‘flecs_table_cache_next’ 19792 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t flecs_alert_get_severity(ecs_world_t*, ecs_iter_t*, EcsAlert*)’: ../src/flecs/distr/flecs.c:20013:22: error: invalid conversion from ‘void*’ to ‘ecs_alert_severity_filter_t*’ [-fpermissive] 20013 | ecs_vec_first(&alert->severity_filters); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void MonitorAlerts(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:20088:34: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_query_t*’ [-fpermissive] 20088 | ecs_query_t *q = poly[i].poly; | ~~~~~~~~^~~~ | | | ecs_poly_t* {aka void*} In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:20156:58: error: taking address of rvalue [-fpermissive] 20156 | ecs_set(world, ai, EcsAlertInstance, { .message = NULL }); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:20157:57: error: taking address of rvalue [-fpermissive] 20157 | ecs_set(world, ai, EcsMetricSource, { .entity = e }); | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:20158:56: error: taking address of rvalue [-fpermissive] 20158 | ecs_set(world, ai, EcsMetricValue, { .value = 0 }); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:20160:25: note: in expansion of macro ‘ECS_NEQZERO’ 20160 | if (ECS_NEQZERO(alert[i].retain_period)) { | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:20161:61: error: taking address of rvalue [-fpermissive] 20161 | ecs_set(world, ai, EcsAlertTimeout, { | ^ 20162 | .inactive_time = 0, | ~~~~~~~~~~~~~~~~~~~ 20163 | .expire_time = alert[i].retain_period | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20164 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void MonitorAlertInstances(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:20212:32: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_query_t*’ [-fpermissive] 20212 | ecs_query_t *query = poly->poly; | ~~~~~~^~~~ | | | ecs_poly_t* {aka void*} In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:20292:25: note: in expansion of macro ‘ECS_NEQZERO’ 20292 | if (ECS_NEQZERO(timeout[i].inactive_time)) { | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:20310:17: note: in expansion of macro ‘ECS_EQZERO’ 20310 | if (ECS_EQZERO(timeout[i].inactive_time)) { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_alert_init(ecs_world_t*, const ecs_alert_desc_t*)’: ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ ../src/flecs/distr/flecs.c:20448:22: note: from here 20448 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ ../src/flecs/distr/flecs.c:20440:18: note: from here 20440 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ ../src/flecs/distr/flecs.c:20435:18: note: from here 20435 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ ../src/flecs/distr/flecs.c:20429:18: note: from here 20429 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ ../src/flecs/distr/flecs.c:20425:18: note: from here 20425 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ ../src/flecs/distr/flecs.c:20419:18: note: from here 20419 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ ../src/flecs/distr/flecs.c:20399:22: note: from here 20399 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ ../src/flecs/distr/flecs.c:20376:22: note: from here 20376 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20341:5: note: in expansion of macro ‘ecs_check’ 20341 | ecs_check(!desc->query.entity || desc->entity == desc->query.entity, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20365:15: note: crosses initialization of ‘EcsAlert* alert’ 20365 | EcsAlert *alert = ecs_ensure(world, result, EcsAlert); | ^~~~~ ../src/flecs/distr/flecs.c:20352:18: note: crosses initialization of ‘ecs_query_t* q’ 20352 | ecs_query_t *q = ecs_query_init(world, &private_desc); | ^ ../src/flecs/distr/flecs.c:20349:22: note: crosses initialization of ‘ecs_query_desc_t private_desc’ 20349 | ecs_query_desc_t private_desc = desc->query; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20344:18: note: crosses initialization of ‘ecs_entity_t result’ 20344 | ecs_entity_t result = desc->entity; | ^~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20339:5: note: in expansion of macro ‘ecs_check’ 20339 | ecs_check(desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20365:15: note: crosses initialization of ‘EcsAlert* alert’ 20365 | EcsAlert *alert = ecs_ensure(world, result, EcsAlert); | ^~~~~ ../src/flecs/distr/flecs.c:20352:18: note: crosses initialization of ‘ecs_query_t* q’ 20352 | ecs_query_t *q = ecs_query_init(world, &private_desc); | ^ ../src/flecs/distr/flecs.c:20349:22: note: crosses initialization of ‘ecs_query_desc_t private_desc’ 20349 | ecs_query_desc_t private_desc = desc->query; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20344:18: note: crosses initialization of ‘ecs_entity_t result’ 20344 | ecs_entity_t result = desc->entity; | ^~~~~~ ../src/flecs/distr/flecs.c:20492:1: error: jump to label ‘error’ 20492 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20338:5: note: in expansion of macro ‘ecs_check’ 20338 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:20466:18: note: crosses initialization of ‘ecs_entity_t severity’ 20466 | ecs_entity_t severity = desc->severity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:20365:15: note: crosses initialization of ‘EcsAlert* alert’ 20365 | EcsAlert *alert = ecs_ensure(world, result, EcsAlert); | ^~~~~ ../src/flecs/distr/flecs.c:20352:18: note: crosses initialization of ‘ecs_query_t* q’ 20352 | ecs_query_t *q = ecs_query_init(world, &private_desc); | ^ ../src/flecs/distr/flecs.c:20349:22: note: crosses initialization of ‘ecs_query_desc_t private_desc’ 20349 | ecs_query_desc_t private_desc = desc->query; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20344:18: note: crosses initialization of ‘ecs_entity_t result’ 20344 | ecs_entity_t result = desc->entity; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_get_alert_count(const ecs_world_t*, ecs_entity_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:20519:1: error: jump to label ‘error’ 20519 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20506:5: note: in expansion of macro ‘ecs_check’ 20506 | ecs_check(!alert || ecs_has(world, alert, EcsAlert), | ^~~~~~~~~ ../src/flecs/distr/flecs.c:20509:28: note: crosses initialization of ‘const EcsAlertsActive* active’ 20509 | const EcsAlertsActive *active = ecs_get(world, entity, EcsAlertsActive); | ^~~~~~ ../src/flecs/distr/flecs.c:20519:1: error: jump to label ‘error’ 20519 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20505:5: note: in expansion of macro ‘ecs_check’ 20505 | ecs_check(entity != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:20509:28: note: crosses initialization of ‘const EcsAlertsActive* active’ 20509 | const EcsAlertsActive *active = ecs_get(world, entity, EcsAlertsActive); | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_get_alert(const ecs_world_t*, ecs_entity_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:20542:1: error: jump to label ‘error’ 20542 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20530:5: note: in expansion of macro ‘ecs_check’ 20530 | ecs_check(alert != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:20537:19: note: crosses initialization of ‘ecs_entity_t* ptr’ 20537 | ecs_entity_t *ptr = ecs_map_get(&active->alerts, alert); | ^~~ ../src/flecs/distr/flecs.c:20532:28: note: crosses initialization of ‘const EcsAlertsActive* active’ 20532 | const EcsAlertsActive *active = ecs_get(world, entity, EcsAlertsActive); | ^~~~~~ ../src/flecs/distr/flecs.c:20542:1: error: jump to label ‘error’ 20542 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:20529:5: note: in expansion of macro ‘ecs_check’ 20529 | ecs_check(entity != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:20537:19: note: crosses initialization of ‘ecs_entity_t* ptr’ 20537 | ecs_entity_t *ptr = ecs_map_get(&active->alerts, alert); | ^~~ ../src/flecs/distr/flecs.c:20532:28: note: crosses initialization of ‘const EcsAlertsActive* active’ 20532 | const EcsAlertsActive *active = ecs_get(world, entity, EcsAlertsActive); | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsAlertsImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:20574:23: error: taking address of rvalue [-fpermissive] 20574 | ecs_struct(world, { | ^ 20575 | .entity = ecs_id(EcsAlertInstance), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20576 | .members = { | ~~~~~~~~~~~~ 20577 | { .name = "message", .type = ecs_id(ecs_string_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20578 | } | ~ 20579 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:20581:36: error: taking address of rvalue [-fpermissive] 20581 | ecs_set_hooks(world, EcsAlert, { | ^ 20582 | .ctor = ecs_ctor(EcsAlert), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20583 | .dtor = ecs_dtor(EcsAlert), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20584 | .move = ecs_move(EcsAlert) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 20585 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:20587:43: error: taking address of rvalue [-fpermissive] 20587 | ecs_set_hooks(world, EcsAlertsActive, { | ^ 20588 | .ctor = ecs_ctor(EcsAlertsActive), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20589 | .dtor = ecs_dtor(EcsAlertsActive), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20590 | .move = ecs_move(EcsAlertsActive) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20591 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:20598:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 20598 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:20593:44: error: taking address of rvalue [-fpermissive] 20593 | ecs_set_hooks(world, EcsAlertInstance, { | ^ 20594 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20595 | .dtor = ecs_dtor(EcsAlertInstance), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20596 | .move = ecs_move(EcsAlertInstance), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20597 | .copy = ecs_copy(EcsAlertInstance) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20598 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:20600:23: error: taking address of rvalue [-fpermissive] 20600 | ecs_struct(world, { | ^ 20601 | .entity = ecs_id(EcsAlertsActive), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20602 | .members = { | ~~~~~~~~~~~~ 20603 | { .name = "info_count", .type = ecs_id(ecs_i32_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20604 | { .name = "warning_count", .type = ecs_id(ecs_i32_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20605 | { .name = "error_count", .type = ecs_id(ecs_i32_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20606 | } | ~ 20607 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:20623:5: error: designator order for field ‘ecs_system_desc_t::interval’ does not match declaration order in ‘ecs_system_desc_t’ 20623 | }); | ^ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:20619:23: error: taking address of rvalue [-fpermissive] 20619 | ecs_system(world, { | ^ 20620 | .entity = ecs_id(MonitorAlerts), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20621 | .immediate = true, | ~~~~~~~~~~~~~~~~~~ 20622 | .interval = (ecs_ftime_t)0.5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20623 | }); | ~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:20625:23: error: taking address of rvalue [-fpermissive] 20625 | ecs_system(world, { | ^ 20626 | .entity = ecs_id(MonitorAlertInstances), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20627 | .interval = (ecs_ftime_t)0.5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20628 | }); | ~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int ecs_app_run(ecs_world_t*, ecs_app_desc_t*)’: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:20719:9: note: in expansion of macro ‘ECS_NEQZERO’ 20719 | if (ECS_NEQZERO(ecs_app_desc.target_fps)) { | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:20734:43: error: taking address of rvalue [-fpermissive] 20734 | ecs_set(world, EcsWorld, EcsRest, {.port = desc->port }); | ^~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_doc_set(ecs_world_t*, ecs_entity_t, ecs_entity_t, const char*)’: ../src/flecs/distr/flecs.c:20819:62: error: taking address of rvalue [-fpermissive] 20819 | ecs_set_pair(world, entity, EcsDocDescription, kind, { | ^ 20820 | /* Safe, value gets copied by copy hook */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20821 | .value = ECS_CONST_CAST(char*, value) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20822 | }); | ~ ../src/flecs/distr/flecs.h:9793:32: note: in definition of macro ‘ecs_set_pair’ 9793 | sizeof(First), &(First)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void FlecsDocImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:3008:37: error: taking address of rvalue [-fpermissive] 3008 | .entity = ecs_entity(world, { .id = ecs_id(id_), .name = #id_, .symbol = #id_ }),\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:21050:5: note: in expansion of macro ‘flecs_bootstrap_component’ 21050 | flecs_bootstrap_component(world, EcsDocDescription); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:3007:53: error: expected primary-expression before ‘)’ token 3007 | ecs_component_init(world, &(ecs_component_desc_t){\ | ^ ../src/flecs/distr/flecs.c:21050:5: note: in expansion of macro ‘flecs_bootstrap_component’ 21050 | flecs_bootstrap_component(world, EcsDocDescription); | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:21062:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 21062 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:21057:45: error: taking address of rvalue [-fpermissive] 21057 | ecs_set_hooks(world, EcsDocDescription, { | ^ 21058 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21059 | .move = ecs_move(EcsDocDescription), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21060 | .copy = ecs_copy(EcsDocDescription), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21061 | .dtor = ecs_dtor(EcsDocDescription) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21062 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* ecs_cpp_trim_module(ecs_world_t*, const char*)’: ../src/flecs/distr/flecs.c:21266:32: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] 21266 | char *ptr = strrchr(type_name, ':'); | ~~~~~~~^~~~~~~~~~~~~~~~ | | | const char* ../src/flecs/distr/flecs.c: In function ‘void ecs_cpp_component_validate(ecs_world_t*, ecs_entity_t, const char*, const char*, size_t, size_t, bool)’: ../src/flecs/distr/flecs.c:21333:72: error: expected primary-expression before ‘)’ token 21333 | ecs_entity_t ent = ecs_component_init(world, &(ecs_component_desc_t){ | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_cpp_component_register_explicit(ecs_world_t*, ecs_entity_t, ecs_entity_t, const char*, const char*, const char*, size_t, size_t, bool, bool*)’: ../src/flecs/distr/flecs.c:21465:36: error: taking address of rvalue [-fpermissive] 21465 | entity = ecs_entity(world, { | ^ 21466 | .id = s_id, | ~~~~~~~~~~~ 21467 | .name = name, | ~~~~~~~~~~~~~ 21468 | .sep = "::", | ~~~~~~~~~~~~ 21469 | .root_sep = "::", | ~~~~~~~~~~~~~~~~~ 21470 | .symbol = symbol, | ~~~~~~~~~~~~~~~~~ 21471 | .use_low_id = true | ~~~~~~~~~~~~~~~~~~ 21472 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:21476:66: error: expected primary-expression before ‘)’ token 21476 | entity = ecs_component_init(world, &(ecs_component_desc_t){ | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:21484:36: error: taking address of rvalue [-fpermissive] 21484 | entity = ecs_entity(world, { | ^ 21485 | .id = s_id, | ~~~~~~~~~~~ 21486 | .name = name, | ~~~~~~~~~~~~~ 21487 | .sep = "::", | ~~~~~~~~~~~~ 21488 | .root_sep = "::", | ~~~~~~~~~~~~~~~~~ 21489 | .symbol = symbol, | ~~~~~~~~~~~~~~~~~ 21490 | .use_low_id = true | ~~~~~~~~~~~~~~~~~~ 21491 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_cpp_enum_init(ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:21510:33: error: taking address of rvalue [-fpermissive] 21510 | ecs_set(world, id, EcsEnum, {0}); | ^~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_cpp_enum_constant_register(ecs_world_t*, ecs_entity_t, ecs_entity_t, const char*, int)’: ../src/flecs/distr/flecs.c:21535:28: error: taking address of rvalue [-fpermissive] 21535 | id = ecs_entity(world, { | ^ 21536 | .id = id, | ~~~~~~~~~ 21537 | .name = name | ~~~~~~~~~~~~ 21538 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘uint64_t http_request_key_hash(const void*)’: ../src/flecs/distr/flecs.c:22116:41: error: invalid conversion from ‘const void*’ to ‘const ecs_http_request_key_t*’ [-fpermissive] 22116 | const ecs_http_request_key_t *key = ptr; | ^~~ | | | const void* ../src/flecs/distr/flecs.c: In function ‘int http_request_key_compare(const void*, const void*)’: ../src/flecs/distr/flecs.c:22124:44: error: invalid conversion from ‘const void*’ to ‘const ecs_http_request_key_t*’ [-fpermissive] 22124 | const ecs_http_request_key_t *type_1 = ptr_1; | ^~~~~ | | | const void* ../src/flecs/distr/flecs.c:22125:44: error: invalid conversion from ‘const void*’ to ‘const ecs_http_request_key_t*’ [-fpermissive] 22125 | const ecs_http_request_key_t *type_2 = ptr_2; | ^~~~~ | | | const void* ../src/flecs/distr/flecs.c: In function ‘void http_insert_request_entry(ecs_http_server_t*, ecs_http_request_impl_t*, ecs_http_reply_t*)’: ../src/flecs/distr/flecs.c:22179:49: error: invalid conversion from ‘void*’ to ‘ecs_http_request_key_t*’ [-fpermissive] 22179 | ecs_http_request_key_t *elem_key = elem.key; | ~~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2669:53: error: invalid conversion from ‘void*’ to ‘const char*’ [-fpermissive] 2669 | #define ecs_os_memdup_n(ptr, T, count) ecs_os_memdup(ptr, ECS_SIZEOF(T) * count) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:22180:27: note: in expansion of macro ‘ecs_os_memdup_n’ 22180 | elem_key->array = ecs_os_memdup_n(key.array, char, key.count); | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:22181:22: error: invalid conversion from ‘void*’ to ‘ecs_http_request_entry_t*’ [-fpermissive] 22181 | entry = elem.value; | ~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void* http_server_send_queue(void*)’: ../src/flecs/distr/flecs.c:22492:30: error: invalid conversion from ‘void*’ to ‘ecs_http_server_t*’ [-fpermissive] 22492 | ecs_http_server_t *srv = arg; | ^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void http_recv_connection(ecs_http_server_t*, ecs_http_connection_impl_t*, uint64_t, ecs_http_socket_t)’: ../src/flecs/distr/flecs.c:22652:33: error: invalid conversion from ‘int’ to ‘HttpFragState’ [-fpermissive] 22652 | ecs_http_fragment_t frag = {0}; | ^ | | | int ../src/flecs/distr/flecs.c: In function ‘int http_accept_connections(ecs_http_server_t*, const sockaddr*, ecs_size_t)’: ../src/flecs/distr/flecs.c:22874:1: error: jump to label ‘done’ 22874 | done: | ^~~~ ../src/flecs/distr/flecs.c:22802:18: note: from here 22802 | goto done; | ^~~~ ../src/flecs/distr/flecs.c:22855:16: note: crosses initialization of ‘ecs_size_t remote_addr_len’ 22855 | ecs_size_t remote_addr_len = 0; | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void* http_server_thread(void*)’: ../src/flecs/distr/flecs.c:22890:30: error: invalid conversion from ‘void*’ to ‘ecs_http_server_t*’ [-fpermissive] 22890 | ecs_http_server_t *srv = arg; | ^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void http_do_request(ecs_http_server_t*, ecs_http_reply_t*, const ecs_http_request_impl_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_http_request_impl_t*’ to type ‘ecs_http_request_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:22930:23: note: in expansion of macro ‘ECS_CONST_CAST’ 22930 | if (srv->callback(ECS_CONST_CAST(ecs_http_request_t*, req), reply, | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void http_purge_request_cache(ecs_http_server_t*, bool)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_hm_bucket_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:22993:35: note: in expansion of macro ‘ecs_map_ptr’ 22993 | ecs_hm_bucket_t *bucket = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:22995:53: error: invalid conversion from ‘void*’ to ‘ecs_http_request_key_t*’ [-fpermissive] 22995 | ecs_http_request_key_t *keys = ecs_vec_first(&bucket->keys); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:22996:58: error: invalid conversion from ‘void*’ to ‘ecs_http_request_entry_t*’ [-fpermissive] 22996 | ecs_http_request_entry_t *entries = ecs_vec_first(&bucket->values); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_http_server_t* ecs_http_server_init(const ecs_http_server_desc_t*)’: ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:23093:10: note: in expansion of macro ‘ECS_EQZERO’ 23093 | if (!ECS_EQZERO(srv->cache_timeout) && | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:23094:10: note: in expansion of macro ‘ECS_EQZERO’ 23094 | ECS_EQZERO(srv->cache_purge_timeout)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:23127:1: error: jump to label ‘error’ 23127 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:23080:5: note: in expansion of macro ‘ecs_check’ 23080 | ecs_check(ecs_os_has_threading(), ECS_UNSUPPORTED, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:23083:24: note: crosses initialization of ‘ecs_http_server_t* srv’ 23083 | ecs_http_server_t* srv = ecs_os_calloc_t(ecs_http_server_t); | ^~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_http_server_stop(ecs_http_server_t*)’: ../src/flecs/distr/flecs.c:23214:1: error: jump to label ‘error’ 23214 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:23177:5: note: in expansion of macro ‘ecs_check’ 23177 | ecs_check(srv->should_run, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:23195:12: note: crosses initialization of ‘int count’ 23195 | int i, count = flecs_sparse_count(&srv->requests); | ^~~~~ ../src/flecs/distr/flecs.c:23214:1: error: jump to label ‘error’ 23214 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:23175:5: note: in expansion of macro ‘ecs_check’ 23175 | ecs_check(srv->initialized, ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:23195:12: note: crosses initialization of ‘int count’ 23195 | int i, count = flecs_sparse_count(&srv->requests); | ^~~~~ ../src/flecs/distr/flecs.c:23214:1: error: jump to label ‘error’ 23214 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:23174:5: note: in expansion of macro ‘ecs_check’ 23174 | ecs_check(srv != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:23195:12: note: crosses initialization of ‘int count’ 23195 | int i, count = flecs_sparse_count(&srv->requests); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘int ecs_http_server_http_request(ecs_http_server_t*, const char*, ecs_size_t, ecs_http_reply_t*)’: ../src/flecs/distr/flecs.c:23267:33: error: invalid conversion from ‘int’ to ‘HttpFragState’ [-fpermissive] 23267 | ecs_http_fragment_t frag = {0}; | ^ | | | int In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int ecs_http_server_request(ecs_http_server_t*, const char*, const char*, ecs_http_reply_t*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:23320:18: note: in expansion of macro ‘ecs_os_malloc’ 23320 | reqstr = ecs_os_malloc(len + 1); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_parser_errorv_(const char*, const char*, int64_t, const char*, __va_list_tag*)’: ../src/flecs/distr/flecs.c:23769:39: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] 23769 | char *newline_ptr = strchr(expr, '\n'); | ~~~~~~^~~~~~~~~~~~ | | | const char* ../src/flecs/distr/flecs.c: In function ‘void flecs_metrics_on_member_metric(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:24196:40: error: invalid conversion from ‘void*’ to ‘ecs_member_metric_ctx_t*’ [-fpermissive] 24196 | ecs_member_metric_ctx_t *ctx = it->ctx; | ~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:24209:43: error: taking address of rvalue [-fpermissive] 24209 | ecs_set(world, m, EcsMetricValue, { 0 }); | ^~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24210:44: error: taking address of rvalue [-fpermissive] 24210 | ecs_set(world, m, EcsMetricSource, { e }); | ^~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_metrics_on_id_metric(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:24219:36: error: invalid conversion from ‘void*’ to ‘ecs_id_metric_ctx_t*’ [-fpermissive] 24219 | ecs_id_metric_ctx_t *ctx = it->ctx; | ~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:24231:43: error: taking address of rvalue [-fpermissive] 24231 | ecs_set(world, m, EcsMetricValue, { 0 }); | ^~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24232:44: error: taking address of rvalue [-fpermissive] 24232 | ecs_set(world, m, EcsMetricSource, { e }); | ^~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_metrics_on_oneof_metric(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:24245:39: error: invalid conversion from ‘void*’ to ‘ecs_oneof_metric_ctx_t*’ [-fpermissive] 24245 | ecs_oneof_metric_ctx_t *ctx = it->ctx; | ~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:24258:44: error: taking address of rvalue [-fpermissive] 24258 | ecs_set(world, m, EcsMetricSource, { e }); | ^~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void UpdateOneOfInstance(ecs_iter_t*, bool)’: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘double*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:24397:25: note: in expansion of macro ‘ECS_ELEM’ 24397 | double *value = ECS_ELEM(m, ctx->size, i); | ^~~~~~~~ ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘double*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:24421:17: note: in expansion of macro ‘ECS_OFFSET’ 24421 | value = ECS_OFFSET(value, *offset); | ^~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_member_metric_init(ecs_world_t*, ecs_entity_t, const ecs_metric_desc_t*)’: ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:24612:5: note: in expansion of macro ‘ecs_observer’ 24612 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:24621:58: error: taking address of rvalue [-fpermissive] 24621 | ecs_set_pair(world, metric, EcsMetricMember, member, { .ctx = ctx }); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9793:32: note: in definition of macro ‘ecs_set_pair’ 9793 | sizeof(First), &(First)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24603:14: note: from here 24603 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24593:14: note: from here 24593 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24582:14: note: from here 24582 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24585:20: note: crosses initialization of ‘const EcsType* mt’ 24585 | const EcsType *mt = ecs_get(world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24564:22: note: from here 24564 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24585:20: note: crosses initialization of ‘const EcsType* mt’ 24585 | const EcsType *mt = ecs_get(world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:24574:25: note: crosses initialization of ‘const EcsPrimitive* p’ 24574 | const EcsPrimitive *p = ecs_get(world, member_type, EcsPrimitive); | ^ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24550:18: note: from here 24550 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24585:20: note: crosses initialization of ‘const EcsType* mt’ 24585 | const EcsType *mt = ecs_get(world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:24574:25: note: crosses initialization of ‘const EcsPrimitive* p’ 24574 | const EcsPrimitive *p = ecs_get(world, member_type, EcsPrimitive); | ^ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24539:18: note: from here 24539 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24585:20: note: crosses initialization of ‘const EcsType* mt’ 24585 | const EcsType *mt = ecs_get(world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:24574:25: note: crosses initialization of ‘const EcsPrimitive* p’ 24574 | const EcsPrimitive *p = ecs_get(world, member_type, EcsPrimitive); | ^ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24523:18: note: from here 24523 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24585:20: note: crosses initialization of ‘const EcsType* mt’ 24585 | const EcsType *mt = ecs_get(world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:24574:25: note: crosses initialization of ‘const EcsPrimitive* p’ 24574 | const EcsPrimitive *p = ecs_get(world, member_type, EcsPrimitive); | ^ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24516:18: note: from here 24516 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24585:20: note: crosses initialization of ‘const EcsType* mt’ 24585 | const EcsType *mt = ecs_get(world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:24574:25: note: crosses initialization of ‘const EcsPrimitive* p’ 24574 | const EcsPrimitive *p = ecs_get(world, member_type, EcsPrimitive); | ^ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24506:18: note: from here 24506 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24585:20: note: crosses initialization of ‘const EcsType* mt’ 24585 | const EcsType *mt = ecs_get(world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:24574:25: note: crosses initialization of ‘const EcsPrimitive* p’ 24574 | const EcsPrimitive *p = ecs_get(world, member_type, EcsPrimitive); | ^ ../src/flecs/distr/flecs.c:24626:1: error: jump to label ‘error’ 24626 | error: | ^~~~~ ../src/flecs/distr/flecs.c:24498:18: note: from here 24498 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:24606:30: note: crosses initialization of ‘ecs_member_metric_ctx_t* ctx’ 24606 | ecs_member_metric_ctx_t *ctx = ecs_os_calloc_t(ecs_member_metric_ctx_t); | ^~~ ../src/flecs/distr/flecs.c:24585:20: note: crosses initialization of ‘const EcsType* mt’ 24585 | const EcsType *mt = ecs_get(world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:24574:25: note: crosses initialization of ‘const EcsPrimitive* p’ 24574 | const EcsPrimitive *p = ecs_get(world, member_type, EcsPrimitive); | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_id_metric_init(ecs_world_t*, ecs_entity_t, const ecs_metric_desc_t*)’: ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:24643:5: note: in expansion of macro ‘ecs_observer’ 24643 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:24652:41: error: taking address of rvalue [-fpermissive] 24652 | ecs_set(world, metric, EcsMetricId, { .ctx = ctx }); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_oneof_metric_init(ecs_world_t*, ecs_entity_t, ecs_entity_t, const ecs_metric_desc_t*)’: ../src/flecs/distr/flecs.c:24695:13: error: designator order for field ‘ecs_entity_desc_t::parent’ does not match declaration order in ‘ecs_entity_desc_t’ 24695 | }); | ^ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24692:50: error: taking address of rvalue [-fpermissive] 24692 | ecs_entity_t mbr = ecs_entity(world, { | ^ 24693 | .name = to_snake_case, | ~~~~~~~~~~~~~~~~~~~~~~ 24694 | .parent = ecs_childof(metric) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24695 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24699:44: error: taking address of rvalue [-fpermissive] 24699 | ecs_set(world, mbr, EcsMember, { | ^ 24700 | .type = ecs_id(ecs_f64_t), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 24701 | .unit = EcsSeconds | ~~~~~~~~~~~~~~~~~~ 24702 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:24714:5: note: in expansion of macro ‘ecs_observer’ 24714 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:24723:44: error: taking address of rvalue [-fpermissive] 24723 | ecs_set(world, metric, EcsMetricOneOf, { .ctx = ctx }); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24728:1: error: jump to label ‘error’ 24728 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:24673:5: note: in expansion of macro ‘ecs_check’ 24673 | ecs_check(ctx->idr != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:24679:14: note: crosses initialization of ‘uint64_t offset’ 24679 | uint64_t offset = 0; | ^~~~~~ ../src/flecs/distr/flecs.c:24678:16: note: crosses initialization of ‘ecs_iter_t it’ 24678 | ecs_iter_t it = ecs_children(world, scope); | ^~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_count_id_targets_metric_init(ecs_world_t*, ecs_entity_t, const ecs_metric_desc_t*)’: ../src/flecs/distr/flecs.c:24745:51: error: taking address of rvalue [-fpermissive] 24745 | ecs_set(world, metric, EcsMetricCountTargets, { .ctx = ctx }); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_count_ids_metric_init(ecs_world_t*, ecs_entity_t, const ecs_metric_desc_t*)’: ../src/flecs/distr/flecs.c:24760:47: error: taking address of rvalue [-fpermissive] 24760 | ecs_set(world, metric, EcsMetricCountIds, { .id = desc->id }); | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24761:44: error: taking address of rvalue [-fpermissive] 24761 | ecs_set(world, metric, EcsMetricValue, { .value = 0 }); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_metric_init(ecs_world_t*, const ecs_metric_desc_t*)’: ../src/flecs/distr/flecs.c:24867:1: error: jump to label ‘error’ 24867 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:24770:5: note: in expansion of macro ‘ecs_check’ 24770 | ecs_check(desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:24779:18: note: crosses initialization of ‘ecs_entity_t kind’ 24779 | ecs_entity_t kind = desc->kind; | ^~~~ ../src/flecs/distr/flecs.c:24774:18: note: crosses initialization of ‘ecs_entity_t result’ 24774 | ecs_entity_t result = desc->entity; | ^~~~~~ ../src/flecs/distr/flecs.c:24867:1: error: jump to label ‘error’ 24867 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:24769:5: note: in expansion of macro ‘ecs_check’ 24769 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:24779:18: note: crosses initialization of ‘ecs_entity_t kind’ 24779 | ecs_entity_t kind = desc->kind; | ^~~~ ../src/flecs/distr/flecs.c:24774:18: note: crosses initialization of ‘ecs_entity_t result’ 24774 | ecs_entity_t result = desc->entity; | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsMetricsImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:24907:23: error: taking address of rvalue [-fpermissive] 24907 | ecs_struct(world, { | ^ 24908 | .entity = ecs_id(EcsMetricValue), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24909 | .members = { | ~~~~~~~~~~~~ 24910 | { .name = "value", .type = ecs_id(ecs_f64_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24911 | } | ~ 24912 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24914:23: error: taking address of rvalue [-fpermissive] 24914 | ecs_struct(world, { | ^ 24915 | .entity = ecs_id(EcsMetricSource), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24916 | .members = { | ~~~~~~~~~~~~ 24917 | { .name = "entity", .type = ecs_id(ecs_entity_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24918 | } | ~ 24919 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:24921:43: error: taking address of rvalue [-fpermissive] 24921 | ecs_set_hooks(world, EcsMetricMember, { | ^ 24922 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24923 | .dtor = ecs_dtor(EcsMetricMember), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24924 | .move = ecs_move(EcsMetricMember) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24925 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24927:39: error: taking address of rvalue [-fpermissive] 24927 | ecs_set_hooks(world, EcsMetricId, { | ^ 24928 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24929 | .dtor = ecs_dtor(EcsMetricId), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24930 | .move = ecs_move(EcsMetricId) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24931 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24933:42: error: taking address of rvalue [-fpermissive] 24933 | ecs_set_hooks(world, EcsMetricOneOf, { | ^ 24934 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24935 | .dtor = ecs_dtor(EcsMetricOneOf), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24936 | .move = ecs_move(EcsMetricOneOf) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24937 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:24939:49: error: taking address of rvalue [-fpermissive] 24939 | ecs_set_hooks(world, EcsMetricCountTargets, { | ^ 24940 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24941 | .dtor = ecs_dtor(EcsMetricCountTargets), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24942 | .move = ecs_move(EcsMetricCountTargets) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24943 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_import(ecs_world_t*, ecs_module_action_t, const char*)’: ../src/flecs/distr/flecs.c:25064:1: error: jump to label ‘error’ 25064 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:25035:5: note: in expansion of macro ‘ecs_check’ 25035 | ecs_check(!(world->flags & EcsWorldReadonly), | ^~~~~~~~~ ../src/flecs/distr/flecs.c:25042:18: note: crosses initialization of ‘ecs_entity_t e’ 25042 | ecs_entity_t e = ecs_lookup(world, path); | ^ ../src/flecs/distr/flecs.c:25041:11: note: crosses initialization of ‘char* path’ 25041 | char *path = flecs_module_path_from_c(module_name); | ^~~~ ../src/flecs/distr/flecs.c:25039:17: note: crosses initialization of ‘const char* old_name_prefix’ 25039 | const char *old_name_prefix = world->info.name_prefix; | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:25038:18: note: crosses initialization of ‘ecs_entity_t old_scope’ 25038 | ecs_entity_t old_scope = ecs_set_scope(world, 0); | ^~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_import_from_library(ecs_world_t*, const char*, const char*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:25099:23: note: in expansion of macro ‘ecs_os_malloc’ 25099 | import_func = ecs_os_malloc(ecs_os_strlen(library_name) + ECS_SIZEOF("Import")); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:25184:1: error: jump to label ‘error’ 25184 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:25084:5: note: in expansion of macro ‘ecs_check’ 25084 | ecs_check(library_name != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:25171:18: note: crosses initialization of ‘ecs_entity_t result’ 25171 | ecs_entity_t result = ecs_import(world, action, module); | ^~~~~~ ../src/flecs/distr/flecs.c:25157:25: note: crosses initialization of ‘void (* action)(ecs_world_t*)’ 25157 | ecs_module_action_t action = (ecs_module_action_t) | ^~~~~~ ../src/flecs/distr/flecs.c:25140:17: note: crosses initialization of ‘ecs_os_dl_t dl’ 25140 | ecs_os_dl_t dl = ecs_os_dlopen(library_filename); | ^~ ../src/flecs/distr/flecs.c:25128:11: note: crosses initialization of ‘char* library_filename’ 25128 | char *library_filename = ecs_os_module_to_dl(library_name); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:25087:11: note: crosses initialization of ‘char* module’ 25087 | char *module = ECS_CONST_CAST(char*, module_name); | ^~~~~~ ../src/flecs/distr/flecs.c:25086:11: note: crosses initialization of ‘char* import_func’ 25086 | char *import_func = ECS_CONST_CAST(char*, module_name); | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_module_init(ecs_world_t*, const char*, const ecs_component_desc_t*)’: ../src/flecs/distr/flecs.c:25201:31: error: taking address of rvalue [-fpermissive] 25201 | e = ecs_entity(world, { .name = module_path }); | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:25227:1: error: jump to label ‘error’ 25227 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:25193:5: note: in expansion of macro ‘ecs_check’ 25193 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:25214:26: note: crosses initialization of ‘ecs_component_desc_t private_desc’ 25214 | ecs_component_desc_t private_desc = *desc; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:25198:18: note: crosses initialization of ‘ecs_entity_t e’ 25198 | ecs_entity_t e = desc->entity; | ^ ../src/flecs/distr/flecs.c:25196:18: note: crosses initialization of ‘ecs_entity_t old_scope’ 25196 | ecs_entity_t old_scope = ecs_set_scope(world, 0); | ^~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void EcsRest_copy(void*, const void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:25354:33: error: invalid conversion from ‘void*’ to ‘ecs_rest_ctx_t*’ [-fpermissive] 25354 | ecs_rest_ctx_t *impl = src->impl; | ~~~~~^~~~ | | | void* ../src/flecs/distr/flecs.h:1018:13: note: in definition of macro ‘ECS_COPY_IMPL’ 1018 | __VA_ARGS__\ | ^~~~~~~~~~~~ 1019 | }\ | ../src/flecs/distr/flecs.c:25353:8: note: in expansion of macro ‘ECS_COPY’ 25353 | static ECS_COPY(EcsRest, dst, src, { | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void EcsRest_dtor(void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:25371:33: error: invalid conversion from ‘void*’ to ‘ecs_rest_ctx_t*’ [-fpermissive] 25371 | ecs_rest_ctx_t *impl = ptr->impl; | ~~~~~^~~~ | | | void* ../src/flecs/distr/flecs.h:997:13: note: in definition of macro ‘ECS_XTOR_IMPL’ 997 | __VA_ARGS__\ | ^~~~~~~~~~~~ 998 | }\ | ../src/flecs/distr/flecs.c:25370:8: note: in expansion of macro ‘ECS_DTOR’ 25370 | static ECS_DTOR(EcsRest, ptr, { | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘bool flecs_rest_put_entity(ecs_world_t*, ecs_http_reply_t*, const char*)’: ../src/flecs/distr/flecs.c:25563:45: error: taking address of rvalue [-fpermissive] 25563 | ecs_entity_t result = ecs_entity(world, { | ^ 25564 | .name = path, | ~~~~~~~~~~~~~ 25565 | .sep = "/" | ~~~~~~~~~~ 25566 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_rest_script(ecs_world_t*, const ecs_http_request_t*, ecs_http_reply_t*, const char*)’: ../src/flecs/distr/flecs.c:25821:36: error: taking address of rvalue [-fpermissive] 25821 | script = ecs_entity(world, { .name = path }); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:25830:10: error: expected unqualified-id before ‘try’ 25830 | bool try = false; | ^~~ ../src/flecs/distr/flecs.c:25831:40: error: expected primary-expression before ‘try’ 25831 | flecs_rest_bool_param(req, "try", &try); | ^~~ ../src/flecs/distr/flecs.c:25835:21: error: expected primary-expression before ‘try’ 25835 | rest_prev_log = try ? NULL : prev_log; | ^~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:25838:32: error: taking address of rvalue [-fpermissive] 25838 | script = ecs_script(world, { | ^ 25839 | .entity = script, | ~~~~~~~~~~~~~~~~~ 25840 | .code = code | ~~~~~~~~~~~~ 25841 | }); | ~ ../src/flecs/distr/flecs.h:14313:49: note: in definition of macro ‘ecs_script’ 14313 | ecs_script_init(world, &(ecs_script_desc_t) __VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:25851:14: error: expected primary-expression before ‘try’ 25851 | if (!try) { | ^~~ ../src/flecs/distr/flecs.c:25851:14: error: expected ‘)’ before ‘try’ 25851 | if (!try) { | ~ ^~~ | ) ../src/flecs/distr/flecs.c: In function ‘bool flecs_rest_reply_existing_query(ecs_world_t*, const ecs_http_request_t*, ecs_http_reply_t*, const char*)’: ../src/flecs/distr/flecs.c:25939:24: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_query_t*’ [-fpermissive] 25939 | q = poly_comp->poly; | ~~~~~~~~~~~^~~~ | | | ecs_poly_t* {aka void*} ../src/flecs/distr/flecs.c: In function ‘bool flecs_rest_get_query(ecs_world_t*, const ecs_http_request_t*, ecs_http_reply_t*)’: ../src/flecs/distr/flecs.c:25996:10: error: expected unqualified-id before ‘try’ 25996 | bool try = false; | ^~~ ../src/flecs/distr/flecs.c:25997:40: error: expected primary-expression before ‘try’ 25997 | flecs_rest_bool_param(req, "try", &try); | ^~~ ../src/flecs/distr/flecs.c:26002:21: error: expected primary-expression before ‘try’ 26002 | rest_prev_log = try ? NULL : prev_log; | ^~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:26005:39: error: taking address of rvalue [-fpermissive] 26005 | ecs_query_t *q = ecs_query(world, { .expr = expr }); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9700:47: note: in definition of macro ‘ecs_query’ 9700 | ecs_query_init(world, &(ecs_query_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:26008:13: error: expected primary-expression before ‘try’ 26008 | if (try) { | ^~~ ../src/flecs/distr/flecs.c:26008:13: error: expected ‘)’ before ‘try’ 26008 | if (try) { | ~^~~ | ) In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_all_systems_stats_to_json(ecs_world_t*, ecs_http_reply_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_system_stats_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:26242:45: note: in expansion of macro ‘ecs_map_ptr’ 26242 | ecs_system_stats_t *sys_stats = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_pipeline_stats_to_json(ecs_world_t*, const ecs_http_request_t*, ecs_http_reply_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:26323:1: error: jump to label ‘noresults’ 26323 | noresults: | ^~~~~~~~~ ../src/flecs/distr/flecs.c:26289:14: note: from here 26289 | goto noresults; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:26301:19: note: crosses initialization of ‘int32_t op_count’ 26301 | int32_t s, o, op_count = ecs_vec_count(&p->state->ops); | ^~~~~~~~ ../src/flecs/distr/flecs.c:26298:23: note: crosses initialization of ‘ecs_sync_stats_t* syncs’ 26298 | ecs_sync_stats_t *syncs = ecs_vec_first_t( | ^~~~~ ../src/flecs/distr/flecs.c:26297:19: note: crosses initialization of ‘ecs_entity_t* systems’ 26297 | ecs_entity_t *systems = ecs_vec_first_t(&p->state->systems, ecs_entity_t); | ^~~~~~~ ../src/flecs/distr/flecs.c:26296:24: note: crosses initialization of ‘ecs_pipeline_op_t* ops’ 26296 | ecs_pipeline_op_t *ops = ecs_vec_first_t(&p->state->ops, ecs_pipeline_op_t); | ^~~ ../src/flecs/distr/flecs.c:26292:24: note: crosses initialization of ‘const EcsPipeline* p’ 26292 | const EcsPipeline *p = ecs_get(world, e, EcsPipeline); | ^ ../src/flecs/distr/flecs.c:26323:1: error: jump to label ‘noresults’ 26323 | noresults: | ^~~~~~~~~ ../src/flecs/distr/flecs.c:26283:14: note: from here 26283 | goto noresults; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:26301:19: note: crosses initialization of ‘int32_t op_count’ 26301 | int32_t s, o, op_count = ecs_vec_count(&p->state->ops); | ^~~~~~~~ ../src/flecs/distr/flecs.c:26298:23: note: crosses initialization of ‘ecs_sync_stats_t* syncs’ 26298 | ecs_sync_stats_t *syncs = ecs_vec_first_t( | ^~~~~ ../src/flecs/distr/flecs.c:26297:19: note: crosses initialization of ‘ecs_entity_t* systems’ 26297 | ecs_entity_t *systems = ecs_vec_first_t(&p->state->systems, ecs_entity_t); | ^~~~~~~ ../src/flecs/distr/flecs.c:26296:24: note: crosses initialization of ‘ecs_pipeline_op_t* ops’ 26296 | ecs_pipeline_op_t *ops = ecs_vec_first_t(&p->state->ops, ecs_pipeline_op_t); | ^~~ ../src/flecs/distr/flecs.c:26292:24: note: crosses initialization of ‘const EcsPipeline* p’ 26292 | const EcsPipeline *p = ecs_get(world, e, EcsPipeline); | ^ ../src/flecs/distr/flecs.c:26286:27: note: crosses initialization of ‘ecs_pipeline_stats_t* pstats’ 26286 | ecs_pipeline_stats_t *pstats = ecs_map_get_deref( | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_rest_server_garbage_collect_all(ecs_rest_ctx_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_rest_cmd_capture_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:26526:43: note: in expansion of macro ‘ecs_map_ptr’ 26526 | ecs_rest_cmd_capture_t *capture = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:26528:59: error: invalid conversion from ‘void*’ to ‘ecs_rest_cmd_sync_capture_t*’ [-fpermissive] 26528 | ecs_rest_cmd_sync_capture_t *syncs = ecs_vec_first(&capture->syncs); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_rest_server_garbage_collect(ecs_world_t*, ecs_rest_ctx_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_rest_cmd_capture_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:26552:47: note: in expansion of macro ‘ecs_map_ptr’ 26552 | ecs_rest_cmd_capture_t *capture = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:26554:63: error: invalid conversion from ‘void*’ to ‘ecs_rest_cmd_sync_capture_t*’ [-fpermissive] 26554 | ecs_rest_cmd_sync_capture_t *syncs = ecs_vec_first(&capture->syncs); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:26569:40: error: invalid conversion from ‘void*’ to ‘int64_t*’ {aka ‘long int*’} [-fpermissive] 26569 | int64_t *frames = ecs_vec_first(&removed_frames); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rest_on_commands(const ecs_stage_t*, const ecs_vec_t*, void*)’: ../src/flecs/distr/flecs.c:26643:39: error: invalid conversion from ‘void*’ to ‘ecs_rest_cmd_capture_t*’ [-fpermissive] 26643 | ecs_rest_cmd_capture_t *capture = ctx; | ^~~ | | | void* ../src/flecs/distr/flecs.c:26652:40: error: invalid conversion from ‘void*’ to ‘ecs_cmd_t*’ [-fpermissive] 26652 | ecs_cmd_t *cmds = ecs_vec_first(commands); | ~~~~~~~~~~~~~^~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘bool flecs_rest_get_commands_request(ecs_world_t*, ecs_rest_ctx_t*, const ecs_http_request_t*, ecs_http_reply_t*)’: ../src/flecs/distr/flecs.c:26738:55: error: invalid conversion from ‘void*’ to ‘ecs_rest_cmd_sync_capture_t*’ [-fpermissive] 26738 | ecs_rest_cmd_sync_capture_t *syncs = ecs_vec_first(&capture->syncs); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘bool flecs_rest_reply(const ecs_http_request_t*, ecs_http_reply_t*, void*)’: ../src/flecs/distr/flecs.c:26757:28: error: invalid conversion from ‘void*’ to ‘ecs_rest_ctx_t*’ [-fpermissive] 26757 | ecs_rest_ctx_t *impl = ctx; | ^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void ecs_rest_server_fini(ecs_http_server_t*)’: ../src/flecs/distr/flecs.c:26860:47: error: invalid conversion from ‘void*’ to ‘ecs_rest_ctx_t*’ [-fpermissive] 26860 | ecs_rest_ctx_t *impl = ecs_http_server_ctx(srv); | ~~~~~~~~~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_on_set_rest(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:26881:13: error: designator order for field ‘ecs_http_server_desc_t::port’ does not match declaration order in ‘ecs_http_server_desc_t’ 26881 | }); | ^ ../src/flecs/distr/flecs.c:26877:38: error: taking address of rvalue [-fpermissive] 26877 | &(ecs_http_server_desc_t){ | ^ 26878 | .ipaddr = rest[i].ipaddr, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 26879 | .port = rest[i].port, | ~~~~~~~~~~~~~~~~~~~~~ 26880 | .cache_timeout = 0.2 | ~~~~~~~~~~~~~~~~~~~~ 26881 | }); | ~ ../src/flecs/distr/flecs.c: In function ‘void DequeueRest(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:26910:39: error: invalid conversion from ‘void*’ to ‘ecs_rest_ctx_t*’ [-fpermissive] 26910 | ecs_rest_ctx_t *ctx = rest[i].impl; | ~~~~~~~~^~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void DisableRest(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:26932:47: error: invalid conversion from ‘void*’ to ‘ecs_rest_ctx_t*’ [-fpermissive] 26932 | ecs_rest_ctx_t *ctx = rest[i].impl; | ~~~~~~~~^~~~ | | | void* ../src/flecs/distr/flecs.c:26942:47: error: invalid conversion from ‘void*’ to ‘ecs_rest_ctx_t*’ [-fpermissive] 26942 | ecs_rest_ctx_t *ctx = rest[i].impl; | ~~~~~~~~^~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsRestImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:3008:37: error: taking address of rvalue [-fpermissive] 3008 | .entity = ecs_entity(world, { .id = ecs_id(id_), .name = #id_, .symbol = #id_ }),\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:26966:5: note: in expansion of macro ‘flecs_bootstrap_component’ 26966 | flecs_bootstrap_component(world, EcsRest); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:3007:53: error: expected primary-expression before ‘)’ token 3007 | ecs_component_init(world, &(ecs_component_desc_t){\ | ^ ../src/flecs/distr/flecs.c:26966:5: note: in expansion of macro ‘flecs_bootstrap_component’ 26966 | flecs_bootstrap_component(world, EcsRest); | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:26974:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 26974 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:26968:35: error: taking address of rvalue [-fpermissive] 26968 | ecs_set_hooks(world, EcsRest, { | ^ 26969 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26970 | .move = ecs_move(EcsRest), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 26971 | .copy = ecs_copy(EcsRest), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 26972 | .dtor = ecs_dtor(EcsRest), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 26973 | .on_set = flecs_on_set_rest | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26974 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:26977:19: note: in expansion of macro ‘ecs_entity’ 26977 | .entity = ecs_entity(world, {.name = "DequeueRest", .add = ecs_ids( ecs_dependson(EcsPostFrame))}), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:26977:68: note: in expansion of macro ‘ecs_ids’ 26977 | .entity = ecs_entity(world, {.name = "DequeueRest", .add = ecs_ids( ecs_dependson(EcsPostFrame))}), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:26976:5: note: in expansion of macro ‘ecs_system’ 26976 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:26985:5: note: in expansion of macro ‘ecs_observer’ 26985 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void AddTickSource(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:27055:60: error: taking address of rvalue [-fpermissive] 27055 | ecs_set(it->world, it->entities[i], EcsTickSource, {0}); | ^~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_set_timeout(ecs_world_t*, ecs_entity_t, float)’: ../src/flecs/distr/flecs.c:27157:35: error: taking address of rvalue [-fpermissive] 27157 | timer = ecs_entity(world, {0}); | ^~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27164:5: error: designator order for field ‘EcsTimer::active’ does not match declaration order in ‘EcsTimer’ 27164 | }); | ^ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27160:37: error: taking address of rvalue [-fpermissive] 27160 | ecs_set(world, timer, EcsTimer, { | ^ 27161 | .timeout = timeout, | ~~~~~~~~~~~~~~~~~~~ 27162 | .single_shot = true, | ~~~~~~~~~~~~~~~~~~~~ 27163 | .active = true | ~~~~~~~~~~~~~~ 27164 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27171:1: error: jump to label ‘error’ 27171 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27154:5: note: in expansion of macro ‘ecs_check’ 27154 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27166:19: note: crosses initialization of ‘ecs_system_t* system_data’ 27166 | ecs_system_t *system_data = flecs_poly_get(world, timer, ecs_system_t); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘float ecs_get_timeout(const ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:27186:1: error: jump to label ‘error’ 27186 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27180:5: note: in expansion of macro ‘ecs_check’ 27180 | ecs_check(timer != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27182:21: note: crosses initialization of ‘const EcsTimer* value’ 27182 | const EcsTimer *value = ecs_get(world, timer, EcsTimer); | ^~~~~ ../src/flecs/distr/flecs.c:27186:1: error: jump to label ‘error’ 27186 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27179:5: note: in expansion of macro ‘ecs_check’ 27179 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27182:21: note: crosses initialization of ‘const EcsTimer* value’ 27182 | const EcsTimer *value = ecs_get(world, timer, EcsTimer); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_set_interval(ecs_world_t*, ecs_entity_t, float)’: ../src/flecs/distr/flecs.c:27211:1: error: jump to label ‘error’ 27211 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27202:5: note: in expansion of macro ‘ecs_check’ 27202 | ecs_check(t != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27207:19: note: crosses initialization of ‘ecs_system_t* system_data’ 27207 | ecs_system_t *system_data = flecs_poly_get(world, timer, ecs_system_t); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27211:1: error: jump to label ‘error’ 27211 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27195:5: note: in expansion of macro ‘ecs_check’ 27195 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27207:19: note: crosses initialization of ‘ecs_system_t* system_data’ 27207 | ecs_system_t *system_data = flecs_poly_get(world, timer, ecs_system_t); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27201:15: note: crosses initialization of ‘EcsTimer* t’ 27201 | EcsTimer *t = ecs_ensure(world, timer, EcsTimer); | ^ ../src/flecs/distr/flecs.c: In function ‘float ecs_get_interval(const ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:27229:1: error: jump to label ‘error’ 27229 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27219:5: note: in expansion of macro ‘ecs_check’ 27219 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27225:21: note: crosses initialization of ‘const EcsTimer* value’ 27225 | const EcsTimer *value = ecs_get(world, timer, EcsTimer); | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_set_rate(ecs_world_t*, ecs_entity_t, int32_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:27276:36: error: taking address of rvalue [-fpermissive] 27276 | filter = ecs_entity(world, {0}); | ^~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27282:5: error: designator order for field ‘EcsRateFilter::src’ does not match declaration order in ‘EcsRateFilter’ 27282 | }); | ^ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27279:43: error: taking address of rvalue [-fpermissive] 27279 | ecs_set(world, filter, EcsRateFilter, { | ^ 27280 | .rate = rate, | ~~~~~~~~~~~~~ 27281 | .src = source | ~~~~~~~~~~~~~ 27282 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27289:1: error: jump to label ‘error’ 27289 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27273:5: note: in expansion of macro ‘ecs_check’ 27273 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27284:19: note: crosses initialization of ‘ecs_system_t* system_data’ 27284 | ecs_system_t *system_data = flecs_poly_get(world, filter, ecs_system_t); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_set_tick_source(ecs_world_t*, ecs_entity_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:27306:1: error: jump to label ‘error’ 27306 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27300:5: note: in expansion of macro ‘ecs_check’ 27300 | ecs_check(tick_source != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27302:19: note: crosses initialization of ‘ecs_system_t* system_data’ 27302 | ecs_system_t *system_data = flecs_poly_get(world, system, ecs_system_t); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27306:1: error: jump to label ‘error’ 27306 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27299:5: note: in expansion of macro ‘ecs_check’ 27299 | ecs_check(system != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27302:19: note: crosses initialization of ‘ecs_system_t* system_data’ 27302 | ecs_system_t *system_data = flecs_poly_get(world, system, ecs_system_t); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27306:1: error: jump to label ‘error’ 27306 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27298:5: note: in expansion of macro ‘ecs_check’ 27298 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:27302:19: note: crosses initialization of ‘ecs_system_t* system_data’ 27302 | ecs_system_t *system_data = flecs_poly_get(world, system, ecs_system_t); | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void ecs_randomize_timers(ecs_world_t*)’: ../src/flecs/distr/flecs.c:27324:37: error: taking address of rvalue [-fpermissive] 27324 | .entity = ecs_entity(world, { .name = "flecs.timer.RandomizeTimers" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:53: note: in definition of macro ‘ecs_observer’ 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27324:19: note: in expansion of macro ‘ecs_entity’ 27324 | .entity = ecs_entity(world, { .name = "flecs.timer.RandomizeTimers" }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:27323:5: note: in expansion of macro ‘ecs_observer’ 27323 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void FlecsTimerImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:3008:37: error: taking address of rvalue [-fpermissive] 3008 | .entity = ecs_entity(world, { .id = ecs_id(id_), .name = #id_, .symbol = #id_ }),\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27347:5: note: in expansion of macro ‘flecs_bootstrap_component’ 27347 | flecs_bootstrap_component(world, EcsTimer); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:3007:53: error: expected primary-expression before ‘)’ token 3007 | ecs_component_init(world, &(ecs_component_desc_t){\ | ^ ../src/flecs/distr/flecs.c:27347:5: note: in expansion of macro ‘flecs_bootstrap_component’ 27347 | flecs_bootstrap_component(world, EcsTimer); | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:3008:37: error: taking address of rvalue [-fpermissive] 3008 | .entity = ecs_entity(world, { .id = ecs_id(id_), .name = #id_, .symbol = #id_ }),\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27348:5: note: in expansion of macro ‘flecs_bootstrap_component’ 27348 | flecs_bootstrap_component(world, EcsRateFilter); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:3007:53: error: expected primary-expression before ‘)’ token 3007 | ecs_component_init(world, &(ecs_component_desc_t){\ | ^ ../src/flecs/distr/flecs.c:27348:5: note: in expansion of macro ‘flecs_bootstrap_component’ 27348 | flecs_bootstrap_component(world, EcsRateFilter); | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27350:36: error: taking address of rvalue [-fpermissive] 27350 | ecs_set_hooks(world, EcsTimer, { | ^ 27351 | .ctor = flecs_default_ctor | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 27352 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27356:19: note: in expansion of macro ‘ecs_entity’ 27356 | .entity = ecs_entity(world, {.name = "AddTickSource", .add = ecs_ids( ecs_dependson(EcsPreFrame) )}), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:27356:70: note: in expansion of macro ‘ecs_ids’ 27356 | .entity = ecs_entity(world, {.name = "AddTickSource", .add = ecs_ids( ecs_dependson(EcsPreFrame) )}), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:27355:5: note: in expansion of macro ‘ecs_system’ 27355 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27367:19: note: in expansion of macro ‘ecs_entity’ 27367 | .entity = ecs_entity(world, {.name = "ProgressTimers", .add = ecs_ids( ecs_dependson(EcsPreFrame))}), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:27367:71: note: in expansion of macro ‘ecs_ids’ 27367 | .entity = ecs_entity(world, {.name = "ProgressTimers", .add = ecs_ids( ecs_dependson(EcsPreFrame))}), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:27366:5: note: in expansion of macro ‘ecs_system’ 27366 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27377:19: note: in expansion of macro ‘ecs_entity’ 27377 | .entity = ecs_entity(world, {.name = "ProgressRateFilters", .add = ecs_ids( ecs_dependson(EcsPreFrame))}), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:27377:76: note: in expansion of macro ‘ecs_ids’ 27377 | .entity = ecs_entity(world, {.name = "ProgressRateFilters", .add = ecs_ids( ecs_dependson(EcsPreFrame))}), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:27376:5: note: in expansion of macro ‘ecs_system’ 27376 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27387:19: note: in expansion of macro ‘ecs_entity’ 27387 | .entity = ecs_entity(world, { .name = "ProgressTickSource", .add = ecs_ids( ecs_dependson(EcsPreFrame))}), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:27387:76: note: in expansion of macro ‘ecs_ids’ 27387 | .entity = ecs_entity(world, { .name = "ProgressTickSource", .add = ecs_ids( ecs_dependson(EcsPreFrame))}), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:27386:5: note: in expansion of macro ‘ecs_system’ 27386 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void FlecsUnitsImport(ecs_world_t*)’: ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27423:16: note: in expansion of macro ‘ecs_ids’ 27423 | .add = ecs_ids( EcsModule ) | ^~~~~~~ ../src/flecs/distr/flecs.c:27431:37: error: taking address of rvalue [-fpermissive] 27431 | .entity = ecs_entity(world, { .name = "Yocto" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27430:69: error: taking address of rvalue [-fpermissive] 27430 | EcsYocto = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27431 | .entity = ecs_entity(world, { .name = "Yocto" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27432 | .symbol = "y", | ~~~~~~~~~~~~~~ 27433 | .translation = { .factor = 10, .power = -24 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27434 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27436:37: error: taking address of rvalue [-fpermissive] 27436 | .entity = ecs_entity(world, { .name = "Zepto" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27435:69: error: taking address of rvalue [-fpermissive] 27435 | EcsZepto = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27436 | .entity = ecs_entity(world, { .name = "Zepto" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27437 | .symbol = "z", | ~~~~~~~~~~~~~~ 27438 | .translation = { .factor = 10, .power = -21 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27439 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27441:37: error: taking address of rvalue [-fpermissive] 27441 | .entity = ecs_entity(world, { .name = "Atto" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27440:68: error: taking address of rvalue [-fpermissive] 27440 | EcsAtto = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27441 | .entity = ecs_entity(world, { .name = "Atto" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27442 | .symbol = "a", | ~~~~~~~~~~~~~~ 27443 | .translation = { .factor = 10, .power = -18 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27444 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27446:37: error: taking address of rvalue [-fpermissive] 27446 | .entity = ecs_entity(world, { .name = "Femto" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27445:69: error: taking address of rvalue [-fpermissive] 27445 | EcsFemto = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27446 | .entity = ecs_entity(world, { .name = "Femto" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27447 | .symbol = "a", | ~~~~~~~~~~~~~~ 27448 | .translation = { .factor = 10, .power = -15 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27449 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27451:37: error: taking address of rvalue [-fpermissive] 27451 | .entity = ecs_entity(world, { .name = "Pico" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27450:68: error: taking address of rvalue [-fpermissive] 27450 | EcsPico = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27451 | .entity = ecs_entity(world, { .name = "Pico" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27452 | .symbol = "p", | ~~~~~~~~~~~~~~ 27453 | .translation = { .factor = 10, .power = -12 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27454 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27456:37: error: taking address of rvalue [-fpermissive] 27456 | .entity = ecs_entity(world, { .name = "Nano" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27455:68: error: taking address of rvalue [-fpermissive] 27455 | EcsNano = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27456 | .entity = ecs_entity(world, { .name = "Nano" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27457 | .symbol = "n", | ~~~~~~~~~~~~~~ 27458 | .translation = { .factor = 10, .power = -9 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27459 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27461:37: error: taking address of rvalue [-fpermissive] 27461 | .entity = ecs_entity(world, { .name = "Micro" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27460:69: error: taking address of rvalue [-fpermissive] 27460 | EcsMicro = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27461 | .entity = ecs_entity(world, { .name = "Micro" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27462 | .symbol = "μ", | ~~~~~~~~~~~~~~ 27463 | .translation = { .factor = 10, .power = -6 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27464 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27466:37: error: taking address of rvalue [-fpermissive] 27466 | .entity = ecs_entity(world, { .name = "Milli" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27465:69: error: taking address of rvalue [-fpermissive] 27465 | EcsMilli = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27466 | .entity = ecs_entity(world, { .name = "Milli" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27467 | .symbol = "m", | ~~~~~~~~~~~~~~ 27468 | .translation = { .factor = 10, .power = -3 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27469 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27471:37: error: taking address of rvalue [-fpermissive] 27471 | .entity = ecs_entity(world, { .name = "Centi" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27470:69: error: taking address of rvalue [-fpermissive] 27470 | EcsCenti = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27471 | .entity = ecs_entity(world, { .name = "Centi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27472 | .symbol = "c", | ~~~~~~~~~~~~~~ 27473 | .translation = { .factor = 10, .power = -2 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27474 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27476:37: error: taking address of rvalue [-fpermissive] 27476 | .entity = ecs_entity(world, { .name = "Deci" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27475:68: error: taking address of rvalue [-fpermissive] 27475 | EcsDeci = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27476 | .entity = ecs_entity(world, { .name = "Deci" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27477 | .symbol = "d", | ~~~~~~~~~~~~~~ 27478 | .translation = { .factor = 10, .power = -1 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27479 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27481:37: error: taking address of rvalue [-fpermissive] 27481 | .entity = ecs_entity(world, { .name = "Deca" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27480:68: error: taking address of rvalue [-fpermissive] 27480 | EcsDeca = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27481 | .entity = ecs_entity(world, { .name = "Deca" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27482 | .symbol = "da", | ~~~~~~~~~~~~~~~ 27483 | .translation = { .factor = 10, .power = 1 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27484 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27486:37: error: taking address of rvalue [-fpermissive] 27486 | .entity = ecs_entity(world, { .name = "Hecto" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27485:69: error: taking address of rvalue [-fpermissive] 27485 | EcsHecto = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27486 | .entity = ecs_entity(world, { .name = "Hecto" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27487 | .symbol = "h", | ~~~~~~~~~~~~~~ 27488 | .translation = { .factor = 10, .power = 2 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27489 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27491:37: error: taking address of rvalue [-fpermissive] 27491 | .entity = ecs_entity(world, { .name = "Kilo" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27490:68: error: taking address of rvalue [-fpermissive] 27490 | EcsKilo = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27491 | .entity = ecs_entity(world, { .name = "Kilo" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27492 | .symbol = "k", | ~~~~~~~~~~~~~~ 27493 | .translation = { .factor = 10, .power = 3 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27494 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27496:37: error: taking address of rvalue [-fpermissive] 27496 | .entity = ecs_entity(world, { .name = "Mega" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27495:68: error: taking address of rvalue [-fpermissive] 27495 | EcsMega = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27496 | .entity = ecs_entity(world, { .name = "Mega" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27497 | .symbol = "M", | ~~~~~~~~~~~~~~ 27498 | .translation = { .factor = 10, .power = 6 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27499 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27501:37: error: taking address of rvalue [-fpermissive] 27501 | .entity = ecs_entity(world, { .name = "Giga" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27500:68: error: taking address of rvalue [-fpermissive] 27500 | EcsGiga = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27501 | .entity = ecs_entity(world, { .name = "Giga" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27502 | .symbol = "G", | ~~~~~~~~~~~~~~ 27503 | .translation = { .factor = 10, .power = 9 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27504 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27506:37: error: taking address of rvalue [-fpermissive] 27506 | .entity = ecs_entity(world, { .name = "Tera" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27505:68: error: taking address of rvalue [-fpermissive] 27505 | EcsTera = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27506 | .entity = ecs_entity(world, { .name = "Tera" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27507 | .symbol = "T", | ~~~~~~~~~~~~~~ 27508 | .translation = { .factor = 10, .power = 12 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27509 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27511:37: error: taking address of rvalue [-fpermissive] 27511 | .entity = ecs_entity(world, { .name = "Peta" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27510:68: error: taking address of rvalue [-fpermissive] 27510 | EcsPeta = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27511 | .entity = ecs_entity(world, { .name = "Peta" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27512 | .symbol = "P", | ~~~~~~~~~~~~~~ 27513 | .translation = { .factor = 10, .power = 15 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27514 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27516:37: error: taking address of rvalue [-fpermissive] 27516 | .entity = ecs_entity(world, { .name = "Exa" }), | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27515:67: error: taking address of rvalue [-fpermissive] 27515 | EcsExa = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27516 | .entity = ecs_entity(world, { .name = "Exa" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27517 | .symbol = "E", | ~~~~~~~~~~~~~~ 27518 | .translation = { .factor = 10, .power = 18 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27519 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27521:37: error: taking address of rvalue [-fpermissive] 27521 | .entity = ecs_entity(world, { .name = "Zetta" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27520:69: error: taking address of rvalue [-fpermissive] 27520 | EcsZetta = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27521 | .entity = ecs_entity(world, { .name = "Zetta" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27522 | .symbol = "Z", | ~~~~~~~~~~~~~~ 27523 | .translation = { .factor = 10, .power = 21 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27524 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27526:37: error: taking address of rvalue [-fpermissive] 27526 | .entity = ecs_entity(world, { .name = "Yotta" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27525:69: error: taking address of rvalue [-fpermissive] 27525 | EcsYotta = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27526 | .entity = ecs_entity(world, { .name = "Yotta" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27527 | .symbol = "Y", | ~~~~~~~~~~~~~~ 27528 | .translation = { .factor = 10, .power = 24 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27529 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27532:37: error: taking address of rvalue [-fpermissive] 27532 | .entity = ecs_entity(world, { .name = "Kibi" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27531:68: error: taking address of rvalue [-fpermissive] 27531 | EcsKibi = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27532 | .entity = ecs_entity(world, { .name = "Kibi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27533 | .symbol = "Ki", | ~~~~~~~~~~~~~~~ 27534 | .translation = { .factor = 1024, .power = 1 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27535 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27537:37: error: taking address of rvalue [-fpermissive] 27537 | .entity = ecs_entity(world, { .name = "Mebi" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27536:68: error: taking address of rvalue [-fpermissive] 27536 | EcsMebi = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27537 | .entity = ecs_entity(world, { .name = "Mebi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27538 | .symbol = "Mi", | ~~~~~~~~~~~~~~~ 27539 | .translation = { .factor = 1024, .power = 2 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27540 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27542:37: error: taking address of rvalue [-fpermissive] 27542 | .entity = ecs_entity(world, { .name = "Gibi" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27541:68: error: taking address of rvalue [-fpermissive] 27541 | EcsGibi = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27542 | .entity = ecs_entity(world, { .name = "Gibi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27543 | .symbol = "Gi", | ~~~~~~~~~~~~~~~ 27544 | .translation = { .factor = 1024, .power = 3 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27545 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27547:37: error: taking address of rvalue [-fpermissive] 27547 | .entity = ecs_entity(world, { .name = "Tebi" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27546:68: error: taking address of rvalue [-fpermissive] 27546 | EcsTebi = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27547 | .entity = ecs_entity(world, { .name = "Tebi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27548 | .symbol = "Ti", | ~~~~~~~~~~~~~~~ 27549 | .translation = { .factor = 1024, .power = 4 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27550 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27552:37: error: taking address of rvalue [-fpermissive] 27552 | .entity = ecs_entity(world, { .name = "Pebi" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27551:68: error: taking address of rvalue [-fpermissive] 27551 | EcsPebi = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27552 | .entity = ecs_entity(world, { .name = "Pebi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27553 | .symbol = "Pi", | ~~~~~~~~~~~~~~~ 27554 | .translation = { .factor = 1024, .power = 5 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27555 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27557:37: error: taking address of rvalue [-fpermissive] 27557 | .entity = ecs_entity(world, { .name = "Exbi" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27556:68: error: taking address of rvalue [-fpermissive] 27556 | EcsExbi = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27557 | .entity = ecs_entity(world, { .name = "Exbi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27558 | .symbol = "Ei", | ~~~~~~~~~~~~~~~ 27559 | .translation = { .factor = 1024, .power = 6 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27560 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27562:37: error: taking address of rvalue [-fpermissive] 27562 | .entity = ecs_entity(world, { .name = "Zebi" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27561:68: error: taking address of rvalue [-fpermissive] 27561 | EcsZebi = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27562 | .entity = ecs_entity(world, { .name = "Zebi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27563 | .symbol = "Zi", | ~~~~~~~~~~~~~~~ 27564 | .translation = { .factor = 1024, .power = 7 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27565 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27567:37: error: taking address of rvalue [-fpermissive] 27567 | .entity = ecs_entity(world, { .name = "Yobi" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27566:68: error: taking address of rvalue [-fpermissive] 27566 | EcsYobi = ecs_unit_prefix_init(world, &(ecs_unit_prefix_desc_t){ | ^ 27567 | .entity = ecs_entity(world, { .name = "Yobi" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27568 | .symbol = "Yi", | ~~~~~~~~~~~~~~~ 27569 | .translation = { .factor = 1024, .power = 8 } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27570 | }); | ~ ../src/flecs/distr/flecs.c:27576:64: error: taking address of rvalue [-fpermissive] 27576 | EcsDuration = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27577 | .name = "Duration" }); | ~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27581:41: error: taking address of rvalue [-fpermissive] 27581 | .entity = ecs_entity(world, { .name = "Seconds" }), | ^~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27583:27: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27583 | .symbol = "s" }); | ^ ../src/flecs/distr/flecs.c:27580:61: error: taking address of rvalue [-fpermissive] 27580 | EcsSeconds = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27581 | .entity = ecs_entity(world, { .name = "Seconds" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27582 | .quantity = EcsDuration, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27583 | .symbol = "s" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27584:58: error: taking address of rvalue [-fpermissive] 27584 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27585 | .entity = EcsSeconds, | ~~~~~~~~~~~~~~~~~~~~~ 27586 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27587 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27589:45: error: taking address of rvalue [-fpermissive] 27589 | .entity = ecs_entity(world, { .name = "PicoSeconds" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27588:69: error: taking address of rvalue [-fpermissive] 27588 | EcsPicoSeconds = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27589 | .entity = ecs_entity(world, { .name = "PicoSeconds" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27590 | .quantity = EcsDuration, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27591 | .base = EcsSeconds, | ~~~~~~~~~~~~~~~~~~~ 27592 | .prefix = EcsPico }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27593:62: error: taking address of rvalue [-fpermissive] 27593 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27594 | .entity = EcsPicoSeconds, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 27595 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27596 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27600:45: error: taking address of rvalue [-fpermissive] 27600 | .entity = ecs_entity(world, { .name = "NanoSeconds" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27599:69: error: taking address of rvalue [-fpermissive] 27599 | EcsNanoSeconds = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27600 | .entity = ecs_entity(world, { .name = "NanoSeconds" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27601 | .quantity = EcsDuration, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27602 | .base = EcsSeconds, | ~~~~~~~~~~~~~~~~~~~ 27603 | .prefix = EcsNano }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27604:62: error: taking address of rvalue [-fpermissive] 27604 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27605 | .entity = EcsNanoSeconds, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 27606 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27607 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27610:45: error: taking address of rvalue [-fpermissive] 27610 | .entity = ecs_entity(world, { .name = "MicroSeconds" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27609:70: error: taking address of rvalue [-fpermissive] 27609 | EcsMicroSeconds = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27610 | .entity = ecs_entity(world, { .name = "MicroSeconds" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27611 | .quantity = EcsDuration, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27612 | .base = EcsSeconds, | ~~~~~~~~~~~~~~~~~~~ 27613 | .prefix = EcsMicro }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27614:62: error: taking address of rvalue [-fpermissive] 27614 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27615 | .entity = EcsMicroSeconds, | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 27616 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27617 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27620:45: error: taking address of rvalue [-fpermissive] 27620 | .entity = ecs_entity(world, { .name = "MilliSeconds" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27619:70: error: taking address of rvalue [-fpermissive] 27619 | EcsMilliSeconds = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27620 | .entity = ecs_entity(world, { .name = "MilliSeconds" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27621 | .quantity = EcsDuration, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27622 | .base = EcsSeconds, | ~~~~~~~~~~~~~~~~~~~ 27623 | .prefix = EcsMilli }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27624:62: error: taking address of rvalue [-fpermissive] 27624 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27625 | .entity = EcsMilliSeconds, | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 27626 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27627 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27630:41: error: taking address of rvalue [-fpermissive] 27630 | .entity = ecs_entity(world, { .name = "Minutes" }), | ^~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27634:57: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27634 | .translation = { .factor = 60, .power = 1 } }); | ^ ../src/flecs/distr/flecs.c:27629:61: error: taking address of rvalue [-fpermissive] 27629 | EcsMinutes = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27630 | .entity = ecs_entity(world, { .name = "Minutes" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27631 | .quantity = EcsDuration, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27632 | .base = EcsSeconds, | ~~~~~~~~~~~~~~~~~~~ 27633 | .symbol = "min", | ~~~~~~~~~~~~~~~~ 27634 | .translation = { .factor = 60, .power = 1 } }); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27635:58: error: taking address of rvalue [-fpermissive] 27635 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27636 | .entity = EcsMinutes, | ~~~~~~~~~~~~~~~~~~~~~ 27637 | .kind = EcsU32 | ~~~~~~~~~~~~~~ 27638 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27641:41: error: taking address of rvalue [-fpermissive] 27641 | .entity = ecs_entity(world, { .name = "Hours" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27645:57: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27645 | .translation = { .factor = 60, .power = 1 } }); | ^ ../src/flecs/distr/flecs.c:27640:59: error: taking address of rvalue [-fpermissive] 27640 | EcsHours = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27641 | .entity = ecs_entity(world, { .name = "Hours" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27642 | .quantity = EcsDuration, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27643 | .base = EcsMinutes, | ~~~~~~~~~~~~~~~~~~~ 27644 | .symbol = "h", | ~~~~~~~~~~~~~~ 27645 | .translation = { .factor = 60, .power = 1 } }); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27646:58: error: taking address of rvalue [-fpermissive] 27646 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27647 | .entity = EcsHours, | ~~~~~~~~~~~~~~~~~~~ 27648 | .kind = EcsU32 | ~~~~~~~~~~~~~~ 27649 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27652:41: error: taking address of rvalue [-fpermissive] 27652 | .entity = ecs_entity(world, { .name = "Days" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27656:57: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27656 | .translation = { .factor = 24, .power = 1 } }); | ^ ../src/flecs/distr/flecs.c:27651:58: error: taking address of rvalue [-fpermissive] 27651 | EcsDays = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27652 | .entity = ecs_entity(world, { .name = "Days" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27653 | .quantity = EcsDuration, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27654 | .base = EcsHours, | ~~~~~~~~~~~~~~~~~ 27655 | .symbol = "d", | ~~~~~~~~~~~~~~ 27656 | .translation = { .factor = 24, .power = 1 } }); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27657:58: error: taking address of rvalue [-fpermissive] 27657 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27658 | .entity = EcsDays, | ~~~~~~~~~~~~~~~~~~ 27659 | .kind = EcsU32 | ~~~~~~~~~~~~~~ 27660 | }); | ~ ../src/flecs/distr/flecs.c:27665:60: error: taking address of rvalue [-fpermissive] 27665 | EcsTime = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27666 | .name = "Time" }); | ~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27670:41: error: taking address of rvalue [-fpermissive] 27670 | .entity = ecs_entity(world, { .name = "Date" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27669:58: error: taking address of rvalue [-fpermissive] 27669 | EcsDate = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27670 | .entity = ecs_entity(world, { .name = "Date" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27671 | .quantity = EcsTime }); | ~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27672:58: error: taking address of rvalue [-fpermissive] 27672 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27673 | .entity = EcsDate, | ~~~~~~~~~~~~~~~~~~ 27674 | .kind = EcsU32 | ~~~~~~~~~~~~~~ 27675 | }); | ~ ../src/flecs/distr/flecs.c:27680:60: error: taking address of rvalue [-fpermissive] 27680 | EcsMass = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27681 | .name = "Mass" }); | ~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27684:41: error: taking address of rvalue [-fpermissive] 27684 | .entity = ecs_entity(world, { .name = "Grams" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27686:27: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27686 | .symbol = "g" }); | ^ ../src/flecs/distr/flecs.c:27683:59: error: taking address of rvalue [-fpermissive] 27683 | EcsGrams = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27684 | .entity = ecs_entity(world, { .name = "Grams" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27685 | .quantity = EcsMass, | ~~~~~~~~~~~~~~~~~~~~ 27686 | .symbol = "g" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27687:58: error: taking address of rvalue [-fpermissive] 27687 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27688 | .entity = EcsGrams, | ~~~~~~~~~~~~~~~~~~~ 27689 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27690 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27692:41: error: taking address of rvalue [-fpermissive] 27692 | .entity = ecs_entity(world, { .name = "KiloGrams" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27695:30: error: designator order for field ‘ecs_unit_desc_t::base’ does not match declaration order in ‘ecs_unit_desc_t’ 27695 | .base = EcsGrams }); | ^ ../src/flecs/distr/flecs.c:27691:63: error: taking address of rvalue [-fpermissive] 27691 | EcsKiloGrams = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27692 | .entity = ecs_entity(world, { .name = "KiloGrams" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27693 | .quantity = EcsMass, | ~~~~~~~~~~~~~~~~~~~~ 27694 | .prefix = EcsKilo, | ~~~~~~~~~~~~~~~~~~ 27695 | .base = EcsGrams }); | ~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27696:58: error: taking address of rvalue [-fpermissive] 27696 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27697 | .entity = EcsKiloGrams, | ~~~~~~~~~~~~~~~~~~~~~~~ 27698 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27699 | }); | ~ ../src/flecs/distr/flecs.c:27704:71: error: taking address of rvalue [-fpermissive] 27704 | EcsElectricCurrent = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27705 | .name = "ElectricCurrent" }); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27708:41: error: taking address of rvalue [-fpermissive] 27708 | .entity = ecs_entity(world, { .name = "Ampere" }), | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27710:27: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27710 | .symbol = "A" }); | ^ ../src/flecs/distr/flecs.c:27707:60: error: taking address of rvalue [-fpermissive] 27707 | EcsAmpere = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27708 | .entity = ecs_entity(world, { .name = "Ampere" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27709 | .quantity = EcsElectricCurrent, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27710 | .symbol = "A" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27711:58: error: taking address of rvalue [-fpermissive] 27711 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27712 | .entity = EcsAmpere, | ~~~~~~~~~~~~~~~~~~~~ 27713 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27714 | }); | ~ ../src/flecs/distr/flecs.c:27719:62: error: taking address of rvalue [-fpermissive] 27719 | EcsAmount = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27720 | .name = "Amount" }); | ~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27723:41: error: taking address of rvalue [-fpermissive] 27723 | .entity = ecs_entity(world, { .name = "Mole" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27725:29: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27725 | .symbol = "mol" }); | ^ ../src/flecs/distr/flecs.c:27722:58: error: taking address of rvalue [-fpermissive] 27722 | EcsMole = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27723 | .entity = ecs_entity(world, { .name = "Mole" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27724 | .quantity = EcsAmount, | ~~~~~~~~~~~~~~~~~~~~~~ 27725 | .symbol = "mol" }); | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27726:58: error: taking address of rvalue [-fpermissive] 27726 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27727 | .entity = EcsMole, | ~~~~~~~~~~~~~~~~~~ 27728 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27729 | }); | ~ ../src/flecs/distr/flecs.c:27734:73: error: taking address of rvalue [-fpermissive] 27734 | EcsLuminousIntensity = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27735 | .name = "LuminousIntensity" }); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27738:41: error: taking address of rvalue [-fpermissive] 27738 | .entity = ecs_entity(world, { .name = "Candela" }), | ^~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27740:28: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27740 | .symbol = "cd" }); | ^ ../src/flecs/distr/flecs.c:27737:61: error: taking address of rvalue [-fpermissive] 27737 | EcsCandela = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27738 | .entity = ecs_entity(world, { .name = "Candela" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27739 | .quantity = EcsLuminousIntensity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27740 | .symbol = "cd" }); | ~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27741:58: error: taking address of rvalue [-fpermissive] 27741 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27742 | .entity = EcsCandela, | ~~~~~~~~~~~~~~~~~~~~~ 27743 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27744 | }); | ~ ../src/flecs/distr/flecs.c:27749:61: error: taking address of rvalue [-fpermissive] 27749 | EcsForce = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27750 | .name = "Force" }); | ~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27753:41: error: taking address of rvalue [-fpermissive] 27753 | .entity = ecs_entity(world, { .name = "Newton" }), | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27755:27: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27755 | .symbol = "N" }); | ^ ../src/flecs/distr/flecs.c:27752:60: error: taking address of rvalue [-fpermissive] 27752 | EcsNewton = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27753 | .entity = ecs_entity(world, { .name = "Newton" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27754 | .quantity = EcsForce, | ~~~~~~~~~~~~~~~~~~~~~ 27755 | .symbol = "N" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27756:58: error: taking address of rvalue [-fpermissive] 27756 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27757 | .entity = EcsNewton, | ~~~~~~~~~~~~~~~~~~~~ 27758 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27759 | }); | ~ ../src/flecs/distr/flecs.c:27764:62: error: taking address of rvalue [-fpermissive] 27764 | EcsLength = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27765 | .name = "Length" }); | ~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27768:41: error: taking address of rvalue [-fpermissive] 27768 | .entity = ecs_entity(world, { .name = "Meters" }), | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27770:27: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27770 | .symbol = "m" }); | ^ ../src/flecs/distr/flecs.c:27767:60: error: taking address of rvalue [-fpermissive] 27767 | EcsMeters = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27768 | .entity = ecs_entity(world, { .name = "Meters" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27769 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27770 | .symbol = "m" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27771:58: error: taking address of rvalue [-fpermissive] 27771 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27772 | .entity = EcsMeters, | ~~~~~~~~~~~~~~~~~~~~ 27773 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27774 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27777:45: error: taking address of rvalue [-fpermissive] 27777 | .entity = ecs_entity(world, { .name = "PicoMeters" }), | ^~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27776:68: error: taking address of rvalue [-fpermissive] 27776 | EcsPicoMeters = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27777 | .entity = ecs_entity(world, { .name = "PicoMeters" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27778 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27779 | .base = EcsMeters, | ~~~~~~~~~~~~~~~~~~ 27780 | .prefix = EcsPico }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27781:62: error: taking address of rvalue [-fpermissive] 27781 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27782 | .entity = EcsPicoMeters, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27783 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27784 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27787:45: error: taking address of rvalue [-fpermissive] 27787 | .entity = ecs_entity(world, { .name = "NanoMeters" }), | ^~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27786:68: error: taking address of rvalue [-fpermissive] 27786 | EcsNanoMeters = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27787 | .entity = ecs_entity(world, { .name = "NanoMeters" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27788 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27789 | .base = EcsMeters, | ~~~~~~~~~~~~~~~~~~ 27790 | .prefix = EcsNano }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27791:62: error: taking address of rvalue [-fpermissive] 27791 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27792 | .entity = EcsNanoMeters, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27793 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27794 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27797:45: error: taking address of rvalue [-fpermissive] 27797 | .entity = ecs_entity(world, { .name = "MicroMeters" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27796:69: error: taking address of rvalue [-fpermissive] 27796 | EcsMicroMeters = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27797 | .entity = ecs_entity(world, { .name = "MicroMeters" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27798 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27799 | .base = EcsMeters, | ~~~~~~~~~~~~~~~~~~ 27800 | .prefix = EcsMicro }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27801:62: error: taking address of rvalue [-fpermissive] 27801 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27802 | .entity = EcsMicroMeters, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 27803 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27804 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27807:45: error: taking address of rvalue [-fpermissive] 27807 | .entity = ecs_entity(world, { .name = "MilliMeters" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27806:69: error: taking address of rvalue [-fpermissive] 27806 | EcsMilliMeters = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27807 | .entity = ecs_entity(world, { .name = "MilliMeters" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27808 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27809 | .base = EcsMeters, | ~~~~~~~~~~~~~~~~~~ 27810 | .prefix = EcsMilli }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27811:62: error: taking address of rvalue [-fpermissive] 27811 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27812 | .entity = EcsMilliMeters, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 27813 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27814 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27817:45: error: taking address of rvalue [-fpermissive] 27817 | .entity = ecs_entity(world, { .name = "CentiMeters" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27816:69: error: taking address of rvalue [-fpermissive] 27816 | EcsCentiMeters = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27817 | .entity = ecs_entity(world, { .name = "CentiMeters" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27818 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27819 | .base = EcsMeters, | ~~~~~~~~~~~~~~~~~~ 27820 | .prefix = EcsCenti }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27821:62: error: taking address of rvalue [-fpermissive] 27821 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27822 | .entity = EcsCentiMeters, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 27823 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27824 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27827:45: error: taking address of rvalue [-fpermissive] 27827 | .entity = ecs_entity(world, { .name = "KiloMeters" }), | ^~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27826:68: error: taking address of rvalue [-fpermissive] 27826 | EcsKiloMeters = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27827 | .entity = ecs_entity(world, { .name = "KiloMeters" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27828 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27829 | .base = EcsMeters, | ~~~~~~~~~~~~~~~~~~ 27830 | .prefix = EcsKilo }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27831:62: error: taking address of rvalue [-fpermissive] 27831 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27832 | .entity = EcsKiloMeters, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27833 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27834 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27837:41: error: taking address of rvalue [-fpermissive] 27837 | .entity = ecs_entity(world, { .name = "Miles" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27840:9: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27840 | }); | ^ ../src/flecs/distr/flecs.c:27836:59: error: taking address of rvalue [-fpermissive] 27836 | EcsMiles = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27837 | .entity = ecs_entity(world, { .name = "Miles" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27838 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27839 | .symbol = "mi" | ~~~~~~~~~~~~~~ 27840 | }); | ~ ../src/flecs/distr/flecs.c:27841:58: error: taking address of rvalue [-fpermissive] 27841 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27842 | .entity = EcsMiles, | ~~~~~~~~~~~~~~~~~~~ 27843 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27844 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27847:41: error: taking address of rvalue [-fpermissive] 27847 | .entity = ecs_entity(world, { .name = "Pixels" }), | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27850:9: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27850 | }); | ^ ../src/flecs/distr/flecs.c:27846:60: error: taking address of rvalue [-fpermissive] 27846 | EcsPixels = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27847 | .entity = ecs_entity(world, { .name = "Pixels" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27848 | .quantity = EcsLength, | ~~~~~~~~~~~~~~~~~~~~~~ 27849 | .symbol = "px" | ~~~~~~~~~~~~~~ 27850 | }); | ~ ../src/flecs/distr/flecs.c:27851:58: error: taking address of rvalue [-fpermissive] 27851 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27852 | .entity = EcsPixels, | ~~~~~~~~~~~~~~~~~~~~ 27853 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27854 | }); | ~ ../src/flecs/distr/flecs.c:27859:64: error: taking address of rvalue [-fpermissive] 27859 | EcsPressure = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27860 | .name = "Pressure" }); | ~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27863:41: error: taking address of rvalue [-fpermissive] 27863 | .entity = ecs_entity(world, { .name = "Pascal" }), | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27865:28: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27865 | .symbol = "Pa" }); | ^ ../src/flecs/distr/flecs.c:27862:60: error: taking address of rvalue [-fpermissive] 27862 | EcsPascal = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27863 | .entity = ecs_entity(world, { .name = "Pascal" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27864 | .quantity = EcsPressure, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27865 | .symbol = "Pa" }); | ~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27866:58: error: taking address of rvalue [-fpermissive] 27866 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27867 | .entity = EcsPascal, | ~~~~~~~~~~~~~~~~~~~~ 27868 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27869 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27871:41: error: taking address of rvalue [-fpermissive] 27871 | .entity = ecs_entity(world, { .name = "Bar" }), | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27873:29: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27873 | .symbol = "bar" }); | ^ ../src/flecs/distr/flecs.c:27870:57: error: taking address of rvalue [-fpermissive] 27870 | EcsBar = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27871 | .entity = ecs_entity(world, { .name = "Bar" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27872 | .quantity = EcsPressure, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27873 | .symbol = "bar" }); | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27874:58: error: taking address of rvalue [-fpermissive] 27874 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27875 | .entity = EcsBar, | ~~~~~~~~~~~~~~~~~ 27876 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27877 | }); | ~ ../src/flecs/distr/flecs.c:27882:61: error: taking address of rvalue [-fpermissive] 27882 | EcsSpeed = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27883 | .name = "Speed" }); | ~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27886:41: error: taking address of rvalue [-fpermissive] 27886 | .entity = ecs_entity(world, { .name = "MetersPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27885:69: error: taking address of rvalue [-fpermissive] 27885 | EcsMetersPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27886 | .entity = ecs_entity(world, { .name = "MetersPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27887 | .quantity = EcsSpeed, | ~~~~~~~~~~~~~~~~~~~~~ 27888 | .base = EcsMeters, | ~~~~~~~~~~~~~~~~~~ 27889 | .over = EcsSeconds }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27890:58: error: taking address of rvalue [-fpermissive] 27890 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27891 | .entity = EcsMetersPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27892 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27893 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27895:41: error: taking address of rvalue [-fpermissive] 27895 | .entity = ecs_entity(world, { .name = "KiloMetersPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27894:73: error: taking address of rvalue [-fpermissive] 27894 | EcsKiloMetersPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27895 | .entity = ecs_entity(world, { .name = "KiloMetersPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27896 | .quantity = EcsSpeed, | ~~~~~~~~~~~~~~~~~~~~~ 27897 | .base = EcsKiloMeters, | ~~~~~~~~~~~~~~~~~~~~~~ 27898 | .over = EcsSeconds }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27899:58: error: taking address of rvalue [-fpermissive] 27899 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27900 | .entity = EcsKiloMetersPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27901 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27902 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27904:41: error: taking address of rvalue [-fpermissive] 27904 | .entity = ecs_entity(world, { .name = "KiloMetersPerHour" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27903:71: error: taking address of rvalue [-fpermissive] 27903 | EcsKiloMetersPerHour = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27904 | .entity = ecs_entity(world, { .name = "KiloMetersPerHour" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27905 | .quantity = EcsSpeed, | ~~~~~~~~~~~~~~~~~~~~~ 27906 | .base = EcsKiloMeters, | ~~~~~~~~~~~~~~~~~~~~~~ 27907 | .over = EcsHours }); | ~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27908:58: error: taking address of rvalue [-fpermissive] 27908 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27909 | .entity = EcsKiloMetersPerHour, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27910 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27911 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27913:41: error: taking address of rvalue [-fpermissive] 27913 | .entity = ecs_entity(world, { .name = "MilesPerHour" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27912:66: error: taking address of rvalue [-fpermissive] 27912 | EcsMilesPerHour = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27913 | .entity = ecs_entity(world, { .name = "MilesPerHour" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27914 | .quantity = EcsSpeed, | ~~~~~~~~~~~~~~~~~~~~~ 27915 | .base = EcsMiles, | ~~~~~~~~~~~~~~~~~ 27916 | .over = EcsHours }); | ~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27917:58: error: taking address of rvalue [-fpermissive] 27917 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27918 | .entity = EcsMilesPerHour, | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 27919 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27920 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27926:37: error: taking address of rvalue [-fpermissive] 27926 | .entity = ecs_entity(world, { .name = "Acceleration" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27925:62: error: taking address of rvalue [-fpermissive] 27925 | EcsAcceleration = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27926 | .entity = ecs_entity(world, { .name = "Acceleration" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27927 | .base = EcsMetersPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27928 | .over = EcsSeconds }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27929:50: error: taking address of rvalue [-fpermissive] 27929 | ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27930 | .id = EcsAcceleration | ~~~~~~~~~~~~~~~~~~~~~ 27931 | }); | ~ ../src/flecs/distr/flecs.c:27932:54: error: taking address of rvalue [-fpermissive] 27932 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27933 | .entity = EcsAcceleration, | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 27934 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27935 | }); | ~ ../src/flecs/distr/flecs.c:27939:67: error: taking address of rvalue [-fpermissive] 27939 | EcsTemperature = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27940 | .name = "Temperature" }); | ~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27943:41: error: taking address of rvalue [-fpermissive] 27943 | .entity = ecs_entity(world, { .name = "Kelvin" }), | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27945:27: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27945 | .symbol = "K" }); | ^ ../src/flecs/distr/flecs.c:27942:60: error: taking address of rvalue [-fpermissive] 27942 | EcsKelvin = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27943 | .entity = ecs_entity(world, { .name = "Kelvin" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27944 | .quantity = EcsTemperature, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27945 | .symbol = "K" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27946:58: error: taking address of rvalue [-fpermissive] 27946 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27947 | .entity = EcsKelvin, | ~~~~~~~~~~~~~~~~~~~~ 27948 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27949 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27951:41: error: taking address of rvalue [-fpermissive] 27951 | .entity = ecs_entity(world, { .name = "Celsius" }), | ^~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27953:28: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27953 | .symbol = "°C" }); | ^ ../src/flecs/distr/flecs.c:27950:61: error: taking address of rvalue [-fpermissive] 27950 | EcsCelsius = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27951 | .entity = ecs_entity(world, { .name = "Celsius" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27952 | .quantity = EcsTemperature, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27953 | .symbol = "°C" }); | ~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27954:58: error: taking address of rvalue [-fpermissive] 27954 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27955 | .entity = EcsCelsius, | ~~~~~~~~~~~~~~~~~~~~~ 27956 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27957 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27959:41: error: taking address of rvalue [-fpermissive] 27959 | .entity = ecs_entity(world, { .name = "Fahrenheit" }), | ^~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27961:27: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27961 | .symbol = "F" }); | ^ ../src/flecs/distr/flecs.c:27958:64: error: taking address of rvalue [-fpermissive] 27958 | EcsFahrenheit = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27959 | .entity = ecs_entity(world, { .name = "Fahrenheit" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27960 | .quantity = EcsTemperature, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27961 | .symbol = "F" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27962:58: error: taking address of rvalue [-fpermissive] 27962 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27963 | .entity = EcsFahrenheit, | ~~~~~~~~~~~~~~~~~~~~~~~~ 27964 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 27965 | }); | ~ ../src/flecs/distr/flecs.c:27970:60: error: taking address of rvalue [-fpermissive] 27970 | EcsData = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 27971 | .name = "Data" }); | ~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27975:41: error: taking address of rvalue [-fpermissive] 27975 | .entity = ecs_entity(world, { .name = "Bits" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27977:29: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 27977 | .symbol = "bit" }); | ^ ../src/flecs/distr/flecs.c:27974:58: error: taking address of rvalue [-fpermissive] 27974 | EcsBits = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27975 | .entity = ecs_entity(world, { .name = "Bits" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27976 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 27977 | .symbol = "bit" }); | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27978:58: error: taking address of rvalue [-fpermissive] 27978 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27979 | .entity = EcsBits, | ~~~~~~~~~~~~~~~~~~ 27980 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 27981 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27984:45: error: taking address of rvalue [-fpermissive] 27984 | .entity = ecs_entity(world, { .name = "KiloBits" }), | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27983:66: error: taking address of rvalue [-fpermissive] 27983 | EcsKiloBits = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27984 | .entity = ecs_entity(world, { .name = "KiloBits" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27985 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 27986 | .base = EcsBits, | ~~~~~~~~~~~~~~~~ 27987 | .prefix = EcsKilo }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27988:62: error: taking address of rvalue [-fpermissive] 27988 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27989 | .entity = EcsKiloBits, | ~~~~~~~~~~~~~~~~~~~~~~ 27990 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 27991 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:27994:45: error: taking address of rvalue [-fpermissive] 27994 | .entity = ecs_entity(world, { .name = "MegaBits" }), | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:27993:66: error: taking address of rvalue [-fpermissive] 27993 | EcsMegaBits = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 27994 | .entity = ecs_entity(world, { .name = "MegaBits" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27995 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 27996 | .base = EcsBits, | ~~~~~~~~~~~~~~~~ 27997 | .prefix = EcsMega }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:27998:62: error: taking address of rvalue [-fpermissive] 27998 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 27999 | .entity = EcsMegaBits, | ~~~~~~~~~~~~~~~~~~~~~~ 28000 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28001 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28004:45: error: taking address of rvalue [-fpermissive] 28004 | .entity = ecs_entity(world, { .name = "GigaBits" }), | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28003:66: error: taking address of rvalue [-fpermissive] 28003 | EcsGigaBits = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28004 | .entity = ecs_entity(world, { .name = "GigaBits" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28005 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 28006 | .base = EcsBits, | ~~~~~~~~~~~~~~~~ 28007 | .prefix = EcsGiga }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28008:62: error: taking address of rvalue [-fpermissive] 28008 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28009 | .entity = EcsGigaBits, | ~~~~~~~~~~~~~~~~~~~~~~ 28010 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28011 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28014:41: error: taking address of rvalue [-fpermissive] 28014 | .entity = ecs_entity(world, { .name = "Bytes" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28018:56: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 28018 | .translation = { .factor = 8, .power = 1 } }); | ^ ../src/flecs/distr/flecs.c:28013:59: error: taking address of rvalue [-fpermissive] 28013 | EcsBytes = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28014 | .entity = ecs_entity(world, { .name = "Bytes" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28015 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 28016 | .symbol = "B", | ~~~~~~~~~~~~~~ 28017 | .base = EcsBits, | ~~~~~~~~~~~~~~~~ 28018 | .translation = { .factor = 8, .power = 1 } }); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28019:58: error: taking address of rvalue [-fpermissive] 28019 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28020 | .entity = EcsBytes, | ~~~~~~~~~~~~~~~~~~~ 28021 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28022 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28025:45: error: taking address of rvalue [-fpermissive] 28025 | .entity = ecs_entity(world, { .name = "KiloBytes" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28024:67: error: taking address of rvalue [-fpermissive] 28024 | EcsKiloBytes = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28025 | .entity = ecs_entity(world, { .name = "KiloBytes" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28026 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 28027 | .base = EcsBytes, | ~~~~~~~~~~~~~~~~~ 28028 | .prefix = EcsKilo }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28029:62: error: taking address of rvalue [-fpermissive] 28029 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28030 | .entity = EcsKiloBytes, | ~~~~~~~~~~~~~~~~~~~~~~~ 28031 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28032 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28035:45: error: taking address of rvalue [-fpermissive] 28035 | .entity = ecs_entity(world, { .name = "MegaBytes" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28034:67: error: taking address of rvalue [-fpermissive] 28034 | EcsMegaBytes = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28035 | .entity = ecs_entity(world, { .name = "MegaBytes" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28036 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 28037 | .base = EcsBytes, | ~~~~~~~~~~~~~~~~~ 28038 | .prefix = EcsMega }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28039:62: error: taking address of rvalue [-fpermissive] 28039 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28040 | .entity = EcsMegaBytes, | ~~~~~~~~~~~~~~~~~~~~~~~ 28041 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28042 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28045:45: error: taking address of rvalue [-fpermissive] 28045 | .entity = ecs_entity(world, { .name = "GigaBytes" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28044:67: error: taking address of rvalue [-fpermissive] 28044 | EcsGigaBytes = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28045 | .entity = ecs_entity(world, { .name = "GigaBytes" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28046 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 28047 | .base = EcsBytes, | ~~~~~~~~~~~~~~~~~ 28048 | .prefix = EcsGiga }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28049:62: error: taking address of rvalue [-fpermissive] 28049 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28050 | .entity = EcsGigaBytes, | ~~~~~~~~~~~~~~~~~~~~~~~ 28051 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28052 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28055:45: error: taking address of rvalue [-fpermissive] 28055 | .entity = ecs_entity(world, { .name = "KibiBytes" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28054:67: error: taking address of rvalue [-fpermissive] 28054 | EcsKibiBytes = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28055 | .entity = ecs_entity(world, { .name = "KibiBytes" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28056 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 28057 | .base = EcsBytes, | ~~~~~~~~~~~~~~~~~ 28058 | .prefix = EcsKibi }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28059:62: error: taking address of rvalue [-fpermissive] 28059 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28060 | .entity = EcsKibiBytes, | ~~~~~~~~~~~~~~~~~~~~~~~ 28061 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28062 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28065:45: error: taking address of rvalue [-fpermissive] 28065 | .entity = ecs_entity(world, { .name = "MebiBytes" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28064:67: error: taking address of rvalue [-fpermissive] 28064 | EcsMebiBytes = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28065 | .entity = ecs_entity(world, { .name = "MebiBytes" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28066 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 28067 | .base = EcsBytes, | ~~~~~~~~~~~~~~~~~ 28068 | .prefix = EcsMebi }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28069:62: error: taking address of rvalue [-fpermissive] 28069 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28070 | .entity = EcsMebiBytes, | ~~~~~~~~~~~~~~~~~~~~~~~ 28071 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28072 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28075:45: error: taking address of rvalue [-fpermissive] 28075 | .entity = ecs_entity(world, { .name = "GibiBytes" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28074:67: error: taking address of rvalue [-fpermissive] 28074 | EcsGibiBytes = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28075 | .entity = ecs_entity(world, { .name = "GibiBytes" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28076 | .quantity = EcsData, | ~~~~~~~~~~~~~~~~~~~~ 28077 | .base = EcsBytes, | ~~~~~~~~~~~~~~~~~ 28078 | .prefix = EcsGibi }); | ~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28079:62: error: taking address of rvalue [-fpermissive] 28079 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28080 | .entity = EcsGibiBytes, | ~~~~~~~~~~~~~~~~~~~~~~~ 28081 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28082 | }); | ~ ../src/flecs/distr/flecs.c:28088:64: error: taking address of rvalue [-fpermissive] 28088 | EcsDataRate = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 28089 | .name = "DataRate" }); | ~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28093:41: error: taking address of rvalue [-fpermissive] 28093 | .entity = ecs_entity(world, { .name = "BitsPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28092:67: error: taking address of rvalue [-fpermissive] 28092 | EcsBitsPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28093 | .entity = ecs_entity(world, { .name = "BitsPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28094 | .quantity = EcsDataRate, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28095 | .base = EcsBits, | ~~~~~~~~~~~~~~~~ 28096 | .over = EcsSeconds }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28097:58: error: taking address of rvalue [-fpermissive] 28097 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28098 | .entity = EcsBitsPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28099 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28100 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28103:45: error: taking address of rvalue [-fpermissive] 28103 | .entity = ecs_entity(world, { .name = "KiloBitsPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28102:75: error: taking address of rvalue [-fpermissive] 28102 | EcsKiloBitsPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28103 | .entity = ecs_entity(world, { .name = "KiloBitsPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28104 | .quantity = EcsDataRate, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28105 | .base = EcsKiloBits, | ~~~~~~~~~~~~~~~~~~~~ 28106 | .over = EcsSeconds | ~~~~~~~~~~~~~~~~~~ 28107 | }); | ~ ../src/flecs/distr/flecs.c:28108:62: error: taking address of rvalue [-fpermissive] 28108 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28109 | .entity = EcsKiloBitsPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28110 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28111 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28114:45: error: taking address of rvalue [-fpermissive] 28114 | .entity = ecs_entity(world, { .name = "MegaBitsPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28113:75: error: taking address of rvalue [-fpermissive] 28113 | EcsMegaBitsPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28114 | .entity = ecs_entity(world, { .name = "MegaBitsPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28115 | .quantity = EcsDataRate, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28116 | .base = EcsMegaBits, | ~~~~~~~~~~~~~~~~~~~~ 28117 | .over = EcsSeconds | ~~~~~~~~~~~~~~~~~~ 28118 | }); | ~ ../src/flecs/distr/flecs.c:28119:62: error: taking address of rvalue [-fpermissive] 28119 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28120 | .entity = EcsMegaBitsPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28121 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28122 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28125:45: error: taking address of rvalue [-fpermissive] 28125 | .entity = ecs_entity(world, { .name = "GigaBitsPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28124:75: error: taking address of rvalue [-fpermissive] 28124 | EcsGigaBitsPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28125 | .entity = ecs_entity(world, { .name = "GigaBitsPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28126 | .quantity = EcsDataRate, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28127 | .base = EcsGigaBits, | ~~~~~~~~~~~~~~~~~~~~ 28128 | .over = EcsSeconds | ~~~~~~~~~~~~~~~~~~ 28129 | }); | ~ ../src/flecs/distr/flecs.c:28130:62: error: taking address of rvalue [-fpermissive] 28130 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28131 | .entity = EcsGigaBitsPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28132 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28133 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28136:41: error: taking address of rvalue [-fpermissive] 28136 | .entity = ecs_entity(world, { .name = "BytesPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28135:68: error: taking address of rvalue [-fpermissive] 28135 | EcsBytesPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28136 | .entity = ecs_entity(world, { .name = "BytesPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28137 | .quantity = EcsDataRate, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28138 | .base = EcsBytes, | ~~~~~~~~~~~~~~~~~ 28139 | .over = EcsSeconds }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28140:58: error: taking address of rvalue [-fpermissive] 28140 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28141 | .entity = EcsBytesPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28142 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28143 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28146:45: error: taking address of rvalue [-fpermissive] 28146 | .entity = ecs_entity(world, { .name = "KiloBytesPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28145:76: error: taking address of rvalue [-fpermissive] 28145 | EcsKiloBytesPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28146 | .entity = ecs_entity(world, { .name = "KiloBytesPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28147 | .quantity = EcsDataRate, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28148 | .base = EcsKiloBytes, | ~~~~~~~~~~~~~~~~~~~~~ 28149 | .over = EcsSeconds | ~~~~~~~~~~~~~~~~~~ 28150 | }); | ~ ../src/flecs/distr/flecs.c:28151:62: error: taking address of rvalue [-fpermissive] 28151 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28152 | .entity = EcsKiloBytesPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28153 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28154 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28157:45: error: taking address of rvalue [-fpermissive] 28157 | .entity = ecs_entity(world, { .name = "MegaBytesPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28156:76: error: taking address of rvalue [-fpermissive] 28156 | EcsMegaBytesPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28157 | .entity = ecs_entity(world, { .name = "MegaBytesPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28158 | .quantity = EcsDataRate, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28159 | .base = EcsMegaBytes, | ~~~~~~~~~~~~~~~~~~~~~ 28160 | .over = EcsSeconds | ~~~~~~~~~~~~~~~~~~ 28161 | }); | ~ ../src/flecs/distr/flecs.c:28162:62: error: taking address of rvalue [-fpermissive] 28162 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28163 | .entity = EcsMegaBytesPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28164 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28165 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28168:45: error: taking address of rvalue [-fpermissive] 28168 | .entity = ecs_entity(world, { .name = "GigaBytesPerSecond" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28167:76: error: taking address of rvalue [-fpermissive] 28167 | EcsGigaBytesPerSecond = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28168 | .entity = ecs_entity(world, { .name = "GigaBytesPerSecond" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28169 | .quantity = EcsDataRate, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28170 | .base = EcsGigaBytes, | ~~~~~~~~~~~~~~~~~~~~~ 28171 | .over = EcsSeconds | ~~~~~~~~~~~~~~~~~~ 28172 | }); | ~ ../src/flecs/distr/flecs.c:28173:62: error: taking address of rvalue [-fpermissive] 28173 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28174 | .entity = EcsGigaBytesPerSecond, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28175 | .kind = EcsU64 | ~~~~~~~~~~~~~~ 28176 | }); | ~ ../src/flecs/distr/flecs.c:28182:66: error: taking address of rvalue [-fpermissive] 28182 | EcsPercentage = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 28183 | .name = "Percentage" }); | ~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28184:44: error: taking address of rvalue [-fpermissive] 28184 | ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28185 | .entity = EcsPercentage, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28186 | .symbol = "%" | ~~~~~~~~~~~~~ 28187 | }); | ~ ../src/flecs/distr/flecs.c:28188:54: error: taking address of rvalue [-fpermissive] 28188 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28189 | .entity = EcsPercentage, | ~~~~~~~~~~~~~~~~~~~~~~~~ 28190 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28191 | }); | ~ ../src/flecs/distr/flecs.c:28195:61: error: taking address of rvalue [-fpermissive] 28195 | EcsAngle = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 28196 | .name = "Angle" }); | ~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28199:41: error: taking address of rvalue [-fpermissive] 28199 | .entity = ecs_entity(world, { .name = "Radians" }), | ^~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28201:29: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 28201 | .symbol = "rad" }); | ^ ../src/flecs/distr/flecs.c:28198:61: error: taking address of rvalue [-fpermissive] 28198 | EcsRadians = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28199 | .entity = ecs_entity(world, { .name = "Radians" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28200 | .quantity = EcsAngle, | ~~~~~~~~~~~~~~~~~~~~~ 28201 | .symbol = "rad" }); | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28202:58: error: taking address of rvalue [-fpermissive] 28202 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28203 | .entity = EcsRadians, | ~~~~~~~~~~~~~~~~~~~~~ 28204 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28205 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28208:41: error: taking address of rvalue [-fpermissive] 28208 | .entity = ecs_entity(world, { .name = "Degrees" }), | ^~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28210:27: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 28210 | .symbol = "°" }); | ^ ../src/flecs/distr/flecs.c:28207:61: error: taking address of rvalue [-fpermissive] 28207 | EcsDegrees = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28208 | .entity = ecs_entity(world, { .name = "Degrees" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28209 | .quantity = EcsAngle, | ~~~~~~~~~~~~~~~~~~~~~ 28210 | .symbol = "°" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28211:58: error: taking address of rvalue [-fpermissive] 28211 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28212 | .entity = EcsDegrees, | ~~~~~~~~~~~~~~~~~~~~~ 28213 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28214 | }); | ~ ../src/flecs/distr/flecs.c:28219:61: error: taking address of rvalue [-fpermissive] 28219 | EcsColor = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 28220 | .name = "Color" }); | ~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28223:41: error: taking address of rvalue [-fpermissive] 28223 | .entity = ecs_entity(world, { .name = "Rgb" }), | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28222:62: error: taking address of rvalue [-fpermissive] 28222 | EcsColorRgb = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28223 | .entity = ecs_entity(world, { .name = "Rgb" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28224 | .quantity = EcsColor }); | ~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28227:41: error: taking address of rvalue [-fpermissive] 28227 | .entity = ecs_entity(world, { .name = "Hsl" }), | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28226:62: error: taking address of rvalue [-fpermissive] 28226 | EcsColorHsl = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28227 | .entity = ecs_entity(world, { .name = "Hsl" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28228 | .quantity = EcsColor }); | ~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28231:41: error: taking address of rvalue [-fpermissive] 28231 | .entity = ecs_entity(world, { .name = "Css" }), | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28230:62: error: taking address of rvalue [-fpermissive] 28230 | EcsColorCss = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28231 | .entity = ecs_entity(world, { .name = "Css" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28232 | .quantity = EcsColor }); | ~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28233:58: error: taking address of rvalue [-fpermissive] 28233 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28234 | .entity = EcsColorCss, | ~~~~~~~~~~~~~~~~~~~~~~ 28235 | .kind = EcsString | ~~~~~~~~~~~~~~~~~ 28236 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28243:37: error: taking address of rvalue [-fpermissive] 28243 | .entity = ecs_entity(world, { .name = "Bel" }), | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28242:53: error: taking address of rvalue [-fpermissive] 28242 | EcsBel = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28243 | .entity = ecs_entity(world, { .name = "Bel" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28244 | .symbol = "B" }); | ~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28245:54: error: taking address of rvalue [-fpermissive] 28245 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28246 | .entity = EcsBel, | ~~~~~~~~~~~~~~~~~ 28247 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28248 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28250:37: error: taking address of rvalue [-fpermissive] 28250 | .entity = ecs_entity(world, { .name = "DeciBel" }), | ^~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28252:24: error: designator order for field ‘ecs_unit_desc_t::base’ does not match declaration order in ‘ecs_unit_desc_t’ 28252 | .base = EcsBel }); | ^ ../src/flecs/distr/flecs.c:28249:57: error: taking address of rvalue [-fpermissive] 28249 | EcsDeciBel = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28250 | .entity = ecs_entity(world, { .name = "DeciBel" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28251 | .prefix = EcsDeci, | ~~~~~~~~~~~~~~~~~~ 28252 | .base = EcsBel }); | ~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28253:54: error: taking address of rvalue [-fpermissive] 28253 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28254 | .entity = EcsDeciBel, | ~~~~~~~~~~~~~~~~~~~~~ 28255 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28256 | }); | ~ ../src/flecs/distr/flecs.c:28260:65: error: taking address of rvalue [-fpermissive] 28260 | EcsFrequency = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 28261 | .name = "Frequency" }); | ~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28265:41: error: taking address of rvalue [-fpermissive] 28265 | .entity = ecs_entity(world, { .name = "Hertz" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28267:28: error: designator order for field ‘ecs_unit_desc_t::symbol’ does not match declaration order in ‘ecs_unit_desc_t’ 28267 | .symbol = "Hz" }); | ^ ../src/flecs/distr/flecs.c:28264:59: error: taking address of rvalue [-fpermissive] 28264 | EcsHertz = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28265 | .entity = ecs_entity(world, { .name = "Hertz" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28266 | .quantity = EcsFrequency, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 28267 | .symbol = "Hz" }); | ~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28268:58: error: taking address of rvalue [-fpermissive] 28268 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28269 | .entity = EcsHertz, | ~~~~~~~~~~~~~~~~~~~ 28270 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28271 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28274:41: error: taking address of rvalue [-fpermissive] 28274 | .entity = ecs_entity(world, { .name = "KiloHertz" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28276:30: error: designator order for field ‘ecs_unit_desc_t::base’ does not match declaration order in ‘ecs_unit_desc_t’ 28276 | .base = EcsHertz }); | ^ ../src/flecs/distr/flecs.c:28273:63: error: taking address of rvalue [-fpermissive] 28273 | EcsKiloHertz = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28274 | .entity = ecs_entity(world, { .name = "KiloHertz" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28275 | .prefix = EcsKilo, | ~~~~~~~~~~~~~~~~~~ 28276 | .base = EcsHertz }); | ~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28277:58: error: taking address of rvalue [-fpermissive] 28277 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28278 | .entity = EcsKiloHertz, | ~~~~~~~~~~~~~~~~~~~~~~~ 28279 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28280 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28283:41: error: taking address of rvalue [-fpermissive] 28283 | .entity = ecs_entity(world, { .name = "MegaHertz" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28285:30: error: designator order for field ‘ecs_unit_desc_t::base’ does not match declaration order in ‘ecs_unit_desc_t’ 28285 | .base = EcsHertz }); | ^ ../src/flecs/distr/flecs.c:28282:63: error: taking address of rvalue [-fpermissive] 28282 | EcsMegaHertz = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28283 | .entity = ecs_entity(world, { .name = "MegaHertz" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28284 | .prefix = EcsMega, | ~~~~~~~~~~~~~~~~~~ 28285 | .base = EcsHertz }); | ~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28286:58: error: taking address of rvalue [-fpermissive] 28286 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28287 | .entity = EcsMegaHertz, | ~~~~~~~~~~~~~~~~~~~~~~~ 28288 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28289 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28292:41: error: taking address of rvalue [-fpermissive] 28292 | .entity = ecs_entity(world, { .name = "GigaHertz" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28294:30: error: designator order for field ‘ecs_unit_desc_t::base’ does not match declaration order in ‘ecs_unit_desc_t’ 28294 | .base = EcsHertz }); | ^ ../src/flecs/distr/flecs.c:28291:63: error: taking address of rvalue [-fpermissive] 28291 | EcsGigaHertz = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28292 | .entity = ecs_entity(world, { .name = "GigaHertz" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28293 | .prefix = EcsGiga, | ~~~~~~~~~~~~~~~~~~ 28294 | .base = EcsHertz }); | ~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28295:58: error: taking address of rvalue [-fpermissive] 28295 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28296 | .entity = EcsGigaHertz, | ~~~~~~~~~~~~~~~~~~~~~~~ 28297 | .kind = EcsF32 | ~~~~~~~~~~~~~~ 28298 | }); | ~ ../src/flecs/distr/flecs.c:28301:59: error: taking address of rvalue [-fpermissive] 28301 | EcsUri = ecs_quantity_init(world, &(ecs_entity_desc_t){ | ^ 28302 | .name = "Uri" }); | ~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28306:41: error: taking address of rvalue [-fpermissive] 28306 | .entity = ecs_entity(world, { .name = "Hyperlink" }), | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28305:66: error: taking address of rvalue [-fpermissive] 28305 | EcsUriHyperlink = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28306 | .entity = ecs_entity(world, { .name = "Hyperlink" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28307 | .quantity = EcsUri }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28308:58: error: taking address of rvalue [-fpermissive] 28308 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28309 | .entity = EcsUriHyperlink, | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 28310 | .kind = EcsString | ~~~~~~~~~~~~~~~~~ 28311 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28314:41: error: taking address of rvalue [-fpermissive] 28314 | .entity = ecs_entity(world, { .name = "Image" }), | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28313:62: error: taking address of rvalue [-fpermissive] 28313 | EcsUriImage = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28314 | .entity = ecs_entity(world, { .name = "Image" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28315 | .quantity = EcsUri }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28316:58: error: taking address of rvalue [-fpermissive] 28316 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28317 | .entity = EcsUriImage, | ~~~~~~~~~~~~~~~~~~~~~~ 28318 | .kind = EcsString | ~~~~~~~~~~~~~~~~~ 28319 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:28322:41: error: taking address of rvalue [-fpermissive] 28322 | .entity = ecs_entity(world, { .name = "File" }), | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28321:61: error: taking address of rvalue [-fpermissive] 28321 | EcsUriFile = ecs_unit_init(world, &(ecs_unit_desc_t){ | ^ 28322 | .entity = ecs_entity(world, { .name = "File" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28323 | .quantity = EcsUri }); | ~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28324:58: error: taking address of rvalue [-fpermissive] 28324 | ecs_primitive_init(world, &(ecs_primitive_desc_t){ | ^ 28325 | .entity = EcsUriFile, | ~~~~~~~~~~~~~~~~~~~~~ 28326 | .kind = EcsString | ~~~~~~~~~~~~~~~~~ 28327 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘char* flecs_strdup(ecs_allocator_t*, const char*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:28470:20: note: in expansion of macro ‘flecs_alloc_n’ 28470 | char *result = flecs_alloc_n(a, char, len + 1); | ^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void ensure(ecs_bitset_t*, ecs_size_t)’: ../src/flecs/distr/flecs.h:2616:47: error: invalid conversion from ‘void*’ to ‘uint64_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2616 | #define ecs_os_calloc(size) ecs_os_api.calloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:28515:20: note: in expansion of macro ‘ecs_os_calloc’ 28515 | bs->data = ecs_os_calloc(new_size); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2613:54: error: invalid conversion from ‘void*’ to ‘uint64_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2613 | #define ecs_os_realloc(ptr, size) ecs_os_api.realloc_(ptr, size) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:28520:20: note: in expansion of macro ‘ecs_os_realloc’ 28520 | bs->data = ecs_os_realloc(bs->data, new_size); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_bitset_set(ecs_bitset_t*, int32_t, bool)’: ../src/flecs/distr/flecs.c:28569:1: error: jump to label ‘error’ 28569 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28564:5: note: in expansion of macro ‘ecs_check’ 28564 | ecs_check(elem < bs->count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:28567:14: note: crosses initialization of ‘uint64_t v’ 28567 | uint64_t v = bs->data[hi]; | ^ ../src/flecs/distr/flecs.c:28566:14: note: crosses initialization of ‘uint32_t lo’ 28566 | uint32_t lo = ((uint32_t)elem) & 0x3F; | ^~ ../src/flecs/distr/flecs.c:28565:14: note: crosses initialization of ‘uint32_t hi’ 28565 | uint32_t hi = ((uint32_t)elem) >> 6; | ^~ ../src/flecs/distr/flecs.c: In function ‘void flecs_bitset_remove(ecs_bitset_t*, int32_t)’: ../src/flecs/distr/flecs.c:28599:1: error: jump to label ‘error’ 28599 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28593:5: note: in expansion of macro ‘ecs_check’ 28593 | ecs_check(elem < bs->count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:28595:10: note: crosses initialization of ‘bool last_value’ 28595 | bool last_value = flecs_bitset_get(bs, last); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:28594:13: note: crosses initialization of ‘int32_t last’ 28594 | int32_t last = bs->count - 1; | ^~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_bitset_swap(ecs_bitset_t*, int32_t, int32_t)’: ../src/flecs/distr/flecs.c:28615:1: error: jump to label ‘error’ 28615 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28609:5: note: in expansion of macro ‘ecs_check’ 28609 | ecs_check(elem_b < bs->count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:28612:10: note: crosses initialization of ‘bool b’ 28612 | bool b = flecs_bitset_get(bs, elem_b); | ^ ../src/flecs/distr/flecs.c:28611:10: note: crosses initialization of ‘bool a’ 28611 | bool a = flecs_bitset_get(bs, elem_a); | ^ ../src/flecs/distr/flecs.c:28615:1: error: jump to label ‘error’ 28615 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:28608:5: note: in expansion of macro ‘ecs_check’ 28608 | ecs_check(elem_a < bs->count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:28612:10: note: crosses initialization of ‘bool b’ 28612 | bool b = flecs_bitset_get(bs, elem_b); | ^ ../src/flecs/distr/flecs.c:28611:10: note: crosses initialization of ‘bool a’ 28611 | bool a = flecs_bitset_get(bs, elem_a); | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_block_allocator_chunk_header_t* flecs_balloc_block(ecs_block_allocator_t*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘ecs_block_allocator_block_t*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:28646:9: note: in expansion of macro ‘ecs_os_malloc’ 28646 | ecs_os_malloc(ECS_SIZEOF(ecs_block_allocator_block_t) + | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_block_allocator_chunk_header_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:28648:55: note: in expansion of macro ‘ECS_OFFSET’ 28648 | ecs_block_allocator_chunk_header_t *first_chunk = ECS_OFFSET(block, | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_block_allocator_chunk_header_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:28666:23: note: in expansion of macro ‘ECS_OFFSET’ 28666 | chunk->next = ECS_OFFSET(chunk, allocator->chunk_size); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_bfree_w_dbg_info(ecs_block_allocator_t*, void*, const char*)’: ../src/flecs/distr/flecs.c:28826:49: error: invalid conversion from ‘void*’ to ‘ecs_block_allocator_chunk_header_t*’ [-fpermissive] 28826 | ecs_block_allocator_chunk_header_t *chunk = memory; | ^~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_hashmap_fini(ecs_hashmap_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_hm_bucket_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:29094:35: note: in expansion of macro ‘ecs_map_ptr’ 29094 | ecs_hm_bucket_t *bucket = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_hashmap_copy(ecs_hashmap_t*, const ecs_hashmap_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_map_data_t*’ {aka ‘long unsigned int*’} to type ‘ecs_hm_bucket_t**’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1862:29: note: in expansion of macro ‘ECS_CAST’ 1862 | #define ecs_map_ref(it, T) (ECS_CAST(T**, &((it)->res[1]))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:29119:40: note: in expansion of macro ‘ecs_map_ref’ 29119 | ecs_hm_bucket_t **bucket_ptr = ecs_map_ref(&it, ecs_hm_bucket_t); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:29121:51: error: invalid conversion from ‘void*’ to ‘ecs_hm_bucket_t*’ [-fpermissive] 29121 | ecs_hm_bucket_t *dst_bucket = flecs_balloc(&dst->bucket_allocator); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘flecs_hashmap_result_t flecs_hashmap_ensure_(ecs_hashmap_t*, ecs_size_t, const void*, ecs_size_t)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_map_val_t*’ {aka ‘long unsigned int*’} to type ‘ecs_hm_bucket_t**’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1852:37: note: in expansion of macro ‘ECS_CAST’ 1852 | #define ecs_map_ensure_ref(m, T, k) ECS_CAST(T**, ecs_map_ensure(m, k)) | ^~~~~~~~ ../src/flecs/distr/flecs.c:29162:27: note: in expansion of macro ‘ecs_map_ensure_ref’ 29162 | ecs_hm_bucket_t **r = ecs_map_ensure_ref(&map->impl, ecs_hm_bucket_t, hash); | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:29165:38: error: invalid conversion from ‘void*’ to ‘ecs_hm_bucket_t*’ [-fpermissive] 29165 | bucket = r[0] = flecs_bcalloc(&map->bucket_allocator); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_hm_bucket_remove(ecs_hashmap_t*, ecs_hm_bucket_t*, uint64_t, int32_t)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_hm_bucket_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ^ | | | void* ../src/flecs/distr/flecs.h:1857:35: note: in expansion of macro ‘ECS_PTR_CAST’ 1857 | #define ecs_map_remove_ptr(m, k) (ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, (ecs_map_remove(m, k))))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:29232:30: note: in expansion of macro ‘ecs_map_remove_ptr’ 29232 | ecs_hm_bucket_t *b = ecs_map_remove_ptr(&map->impl, hash); | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void* flecs_hashmap_next_(flecs_hashmap_iter_t*, ecs_size_t, void*, ecs_size_t)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_hm_bucket_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:29294:31: note: in expansion of macro ‘ecs_map_ptr’ 29294 | bucket = it->bucket = ecs_map_ptr(&it->it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_map_val_t* flecs_map_bucket_add(ecs_block_allocator_t*, ecs_bucket_t*, ecs_map_key_t)’: ../src/flecs/distr/flecs.c:29380:49: error: invalid conversion from ‘void*’ to ‘ecs_bucket_entry_t*’ [-fpermissive] 29380 | ecs_bucket_entry_t *new_entry = flecs_balloc(allocator); | ~~~~~~~~~~~~^~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_map_rehash(ecs_map_t*, int32_t)’: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_bucket_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:3949:33: note: in expansion of macro ‘ECS_ELEM’ 3949 | #define ECS_ELEM_T(o, T, index) ECS_ELEM(o, ECS_SIZEOF(T), index) | ^~~~~~~~ ../src/flecs/distr/flecs.c:29319:30: note: in expansion of macro ‘ECS_ELEM_T’ 29319 | #define ECS_BUCKET_END(b, c) ECS_ELEM_T(b, ecs_bucket_t, c) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:29454:54: note: in expansion of macro ‘ECS_BUCKET_END’ 29454 | ecs_bucket_t *buckets = map->buckets, *b, *end = ECS_BUCKET_END(buckets, old_count); | ^~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2005:44: error: invalid conversion from ‘void*’ to ‘ecs_bucket_t*’ [-fpermissive] 2005 | #define flecs_calloc(a, size) flecs_bcalloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2007:37: note: in expansion of macro ‘flecs_calloc’ 2007 | #define flecs_calloc_n(a, T, count) flecs_calloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:29457:24: note: in expansion of macro ‘flecs_calloc_n’ 29457 | map->buckets = flecs_calloc_n(map->allocator, ecs_bucket_t, count); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_map_init(ecs_map_t*, ecs_allocator_t*)’: ../src/flecs/distr/flecs.c:29530:55: error: taking address of rvalue [-fpermissive] 29530 | ecs_map_init_w_params(result, &(ecs_map_params_t) { | ^ 29531 | .allocator = allocator | ~~~~~~~~~~~~~~~~~~~~~~ 29532 | }); | ~ ../src/flecs/distr/flecs.c: In function ‘uint64_t flecs_name_index_hash(const void*)’: ../src/flecs/distr/flecs.c:29786:38: error: invalid conversion from ‘const void*’ to ‘const ecs_hashed_string_t*’ [-fpermissive] 29786 | const ecs_hashed_string_t *str = ptr; | ^~~ | | | const void* ../src/flecs/distr/flecs.c: In function ‘int flecs_name_index_compare(const void*, const void*)’: ../src/flecs/distr/flecs.c:29796:39: error: invalid conversion from ‘const void*’ to ‘const ecs_hashed_string_t*’ [-fpermissive] 29796 | const ecs_hashed_string_t *str1 = ptr1; | ^~~~ | | | const void* ../src/flecs/distr/flecs.c:29797:39: error: invalid conversion from ‘const void*’ to ‘const ecs_hashed_string_t*’ [-fpermissive] 29797 | const ecs_hashed_string_t *str2 = ptr2; | ^~~~ | | | const void* ../src/flecs/distr/flecs.c: In function ‘ecs_hashmap_t* flecs_name_index_new(ecs_world_t*, ecs_allocator_t*)’: ../src/flecs/distr/flecs.c:29837:42: error: invalid conversion from ‘void*’ to ‘ecs_hashmap_t*’ [-fpermissive] 29837 | ecs_hashmap_t *result = flecs_bcalloc(&world->allocators.hashmap); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_hashmap_t* flecs_name_index_copy(ecs_hashmap_t*)’: ../src/flecs/distr/flecs.c:29861:42: error: invalid conversion from ‘void*’ to ‘ecs_hashmap_t*’ [-fpermissive] 29861 | ecs_hashmap_t *result = flecs_bcalloc(map->hashmap_allocator); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘const uint64_t* flecs_name_index_find_ptr(const ecs_hashmap_t*, const char*, ecs_size_t, uint64_t)’: ../src/flecs/distr/flecs.c:29903:46: error: invalid conversion from ‘void*’ to ‘ecs_hashed_string_t*’ [-fpermissive] 29903 | ecs_hashed_string_t *keys = ecs_vec_first(&b->keys); | ~~~~~~~~~~~~~^~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_name_index_remove(ecs_hashmap_t*, uint64_t, uint64_t)’: ../src/flecs/distr/flecs.c:29947:34: error: invalid conversion from ‘void*’ to ‘uint64_t*’ {aka ‘long unsigned int*’} [-fpermissive] 29947 | uint64_t *ids = ecs_vec_first(&b->values); | ~~~~~~~~~~~~~^~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_name_index_update_name(ecs_hashmap_t*, uint64_t, uint64_t, const char*)’: ../src/flecs/distr/flecs.c:29968:34: error: invalid conversion from ‘void*’ to ‘uint64_t*’ {aka ‘long unsigned int*’} [-fpermissive] 29968 | uint64_t *ids = ecs_vec_first(&b->values); | ~~~~~~~~~~~~~^~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_name_index_ensure(ecs_hashmap_t*, uint64_t, const char*, ecs_size_t, uint64_t)’: ../src/flecs/distr/flecs.c:30010:1: error: jump to label ‘error’ 30010 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:29994:5: note: in expansion of macro ‘ecs_check’ 29994 | ecs_check(name != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:30007:28: note: crosses initialization of ‘flecs_hashmap_result_t hmr’ 30007 | flecs_hashmap_result_t hmr = flecs_hashmap_ensure( | ^~~ ../src/flecs/distr/flecs.c:29998:14: note: crosses initialization of ‘uint64_t existing’ 29998 | uint64_t existing = flecs_name_index_find( | ^~~~~~~~ ../src/flecs/distr/flecs.c:29996:25: note: crosses initialization of ‘ecs_hashed_string_t key’ 29996 | ecs_hashed_string_t key = flecs_get_hashed_string(name, length, hash); | ^~~ ../src/flecs/distr/flecs.c: In function ‘ecs_page_t* flecs_sparse_page_new(ecs_sparse_t*, int32_t)’: ../src/flecs/distr/flecs.c:30057:25: error: invalid conversion from ‘void*’ to ‘int32_t*’ {aka ‘int*’} [-fpermissive] 30057 | result->sparse = ca ? flecs_bcalloc(ca) In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_stack_page_t* flecs_stack_page_new(uint32_t)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘ecs_stack_page_t*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:30746:32: note: in expansion of macro ‘ecs_os_malloc’ 30746 | ecs_stack_page_t *result = ecs_os_malloc( | ^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_stack_cursor_t* flecs_stack_get_cursor(ecs_stack_t*)’: ../src/flecs/distr/flecs.h:1635:22: error: invalid conversion from ‘void*’ to ‘ecs_stack_cursor_t*’ [-fpermissive] 1635 | flecs_stack_alloc(stack, ECS_SIZEOF(T), ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:30824:34: note: in expansion of macro ‘flecs_stack_alloc_t’ 30824 | ecs_stack_cursor_t *result = flecs_stack_alloc_t(stack, ecs_stack_cursor_t); | ^~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘char* ecs_strbuf_get(ecs_strbuf_t*)’: ../src/flecs/distr/flecs.h:2669:53: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2669 | #define ecs_os_memdup_n(ptr, T, count) ecs_os_memdup(ptr, ECS_SIZEOF(T) * count) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:31371:18: note: in expansion of macro ‘ecs_os_memdup_n’ 31371 | result = ecs_os_memdup_n(result, char, b->length + 1); | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_switch_fini(ecs_switch_t*)’: ../src/flecs/distr/flecs.c:31605:45: error: invalid conversion from ‘void*’ to ‘ecs_switch_page_t*’ [-fpermissive] 31605 | ecs_switch_page_t *pages = ecs_vec_first(&sw->pages); | ~~~~~~~~~~~~~^~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_vec_t ecs_vec_copy(ecs_allocator_t*, const ecs_vec_t*, ecs_size_t)’: ../src/flecs/distr/flecs.c:31827:5: error: designator order for field ‘ecs_vec_t::array’ does not match declaration order in ‘ecs_vec_t’ 31827 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘ecs_vec_t ecs_vec_copy_shrink(ecs_allocator_t*, const ecs_vec_t*, ecs_size_t)’: ../src/flecs/distr/flecs.c:31852:5: error: designator order for field ‘ecs_vec_t::array’ does not match declaration order in ‘ecs_vec_t’ 31852 | }; | ^ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:32067:1: sorry, unimplemented: non-trivial designated initializers not supported 32067 | }; | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_query_find_var(const ecs_query_t*, const char*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32075:30: note: in expansion of macro ‘flecs_query_impl’ 32075 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘const char* ecs_query_var_name(const ecs_query_t*, int32_t)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:10810:11: note: in definition of macro ‘ecs_assert’ 10810 | if (!(condition)) {\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32097:29: note: in expansion of macro ‘flecs_query_impl’ 32097 | ecs_assert(var_id < flecs_query_impl(q)->var_count, | ^~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.h:713, from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32097:9: note: in expansion of macro ‘ecs_assert’ 32097 | ecs_assert(var_id < flecs_query_impl(q)->var_count, | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32097:29: note: in expansion of macro ‘flecs_query_impl’ 32097 | ecs_assert(var_id < flecs_query_impl(q)->var_count, | ^~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32099:16: note: in expansion of macro ‘flecs_query_impl’ 32099 | return flecs_query_impl(q)->vars[var_id].name; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_query_var_is_entity(const ecs_query_t*, int32_t)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32111:12: note: in expansion of macro ‘flecs_query_impl’ 32111 | return flecs_query_impl(q)->vars[var_id].kind == EcsVarEntity; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_query_create_cache(ecs_query_impl_t*, ecs_query_desc_t*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘int8_t*’ {aka ‘signed char*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:32254:38: note: in expansion of macro ‘flecs_alloc_n’ 32254 | impl->cache->field_map = flecs_alloc_n(&impl->stage->allocator, | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_poly_fini(void*)’: ../src/flecs/distr/flecs.c:32331:22: error: invalid conversion from ‘void*’ to ‘ecs_query_impl_t*’ [-fpermissive] 32331 | flecs_query_fini(ptr); | ^~~ | | | void* ../src/flecs/distr/flecs.c:32268:23: note: initializing argument 1 of ‘void flecs_query_fini(ecs_query_impl_t*)’ 32268 | ecs_query_impl_t *impl) | ~~~~~~~~~~~~~~~~~~^~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void ecs_query_fini(ecs_query_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32360:26: note: in expansion of macro ‘flecs_query_impl’ 32360 | flecs_query_fini(flecs_query_impl(q)); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_query_t* ecs_query_init(ecs_world_t*, const ecs_query_desc_t*)’: ../src/flecs/distr/flecs.c:32370:45: error: invalid conversion from ‘void*’ to ‘ecs_query_impl_t*’ [-fpermissive] 32370 | ecs_query_impl_t *result = flecs_bcalloc(&stage->allocators.query_impl); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_query_count_t ecs_query_count(const ecs_query_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32508:30: note: in expansion of macro ‘flecs_query_impl’ 32508 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_query_is_true(const ecs_query_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32535:30: note: in expansion of macro ‘flecs_query_impl’ 32535 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_query_match_count(const ecs_query_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32549:30: note: in expansion of macro ‘flecs_query_impl’ 32549 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const ecs_query_t* ecs_query_get_cache_query(const ecs_query_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32560:30: note: in expansion of macro ‘flecs_query_impl’ 32560 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_plan_w_profile(const ecs_query_t*, const ecs_iter_t*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:32865:30: note: in expansion of macro ‘flecs_query_impl’ 32865 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘char* ecs_query_str(const ecs_query_t*)’: ../src/flecs/distr/flecs.c:33255:1: error: jump to label ‘error’ 33255 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:33229:5: note: in expansion of macro ‘ecs_check’ 33229 | ecs_check(q != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:33234:16: note: crosses initialization of ‘int32_t count’ 33234 | int32_t i, count = q->term_count; | ^~~~~ ../src/flecs/distr/flecs.c:33233:23: note: crosses initialization of ‘const ecs_term_t* terms’ 33233 | const ecs_term_t *terms = q->terms; | ^~~~~ ../src/flecs/distr/flecs.c:33232:18: note: crosses initialization of ‘ecs_strbuf_t buf’ 33232 | ecs_strbuf_t buf = ECS_STRBUF_INIT; | ^~~ ../src/flecs/distr/flecs.c:33230:18: note: crosses initialization of ‘ecs_world_t* world’ 33230 | ecs_world_t *world = q->world; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_query_pivot_term(const ecs_world_t*, const ecs_query_t*)’: ../src/flecs/distr/flecs.c:33304:1: error: jump to label ‘error’ 33304 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:33264:5: note: in expansion of macro ‘ecs_check’ 33264 | ecs_check(query != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:33268:46: note: crosses initialization of ‘int32_t self_pivot_term’ 33268 | int32_t pivot_term = -1, min_count = -1, self_pivot_term = -1; | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:33268:30: note: crosses initialization of ‘int32_t min_count’ 33268 | int32_t pivot_term = -1, min_count = -1, self_pivot_term = -1; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:33268:13: note: crosses initialization of ‘int32_t pivot_term’ 33268 | int32_t pivot_term = -1, min_count = -1, self_pivot_term = -1; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:33267:16: note: crosses initialization of ‘int32_t term_count’ 33267 | int32_t i, term_count = query->term_count; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:33266:23: note: crosses initialization of ‘const ecs_term_t* terms’ 33266 | const ecs_term_t *terms = query->terms; | ^~~~~ ../src/flecs/distr/flecs.c:33304:1: error: jump to label ‘error’ 33304 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:33263:5: note: in expansion of macro ‘ecs_check’ 33263 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:33268:46: note: crosses initialization of ‘int32_t self_pivot_term’ 33268 | int32_t pivot_term = -1, min_count = -1, self_pivot_term = -1; | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:33268:30: note: crosses initialization of ‘int32_t min_count’ 33268 | int32_t pivot_term = -1, min_count = -1, self_pivot_term = -1; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:33268:13: note: crosses initialization of ‘int32_t pivot_term’ 33268 | int32_t pivot_term = -1, min_count = -1, self_pivot_term = -1; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:33267:16: note: crosses initialization of ‘int32_t term_count’ 33267 | int32_t i, term_count = query->term_count; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:33266:23: note: crosses initialization of ‘const ecs_term_t* terms’ 33266 | const ecs_term_t *terms = query->terms; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_query_query_populate_terms(ecs_world_t*, ecs_stage_t*, ecs_query_t*, const ecs_query_desc_t*)’: ../src/flecs/distr/flecs.c:34794:13: error: expected primary-expression before ‘.’ token 34794 | .pub.world = world, | ^ ../src/flecs/distr/flecs.c:34795:13: error: expected primary-expression before ‘.’ token 34795 | .pub.name = desc->entity ? ecs_get_name(world, desc->entity) : NULL, | ^ ../src/flecs/distr/flecs.c:34796:13: error: expected primary-expression before ‘.’ token 34796 | .pub.code = expr | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2001:63: note: in definition of macro ‘flecs_alloc’ 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ^ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:34802:14: note: in expansion of macro ‘flecs_query_impl’ 34802 | &flecs_query_impl(q)->stage->allocator, script.token_buffer_size); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:34813:9: note: in expansion of macro ‘flecs_query_impl’ 34813 | flecs_query_impl(q)->tokens = script.token_buffer; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:34814:9: note: in expansion of macro ‘flecs_query_impl’ 34814 | flecs_query_impl(q)->tokens_len = | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_populate_tokens(ecs_query_impl_t*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:35046:24: note: in expansion of macro ‘flecs_alloc’ 35046 | impl->tokens = flecs_alloc(&impl->stage->allocator, len); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_query_finalize_query(ecs_world_t*, ecs_query_t*, const ecs_query_desc_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:35110:33: note: in expansion of macro ‘flecs_query_impl’ 35110 | flecs_query_populate_tokens(flecs_query_impl(q)); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:35113:1: error: jump to label ‘error’ 35113 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:35082:5: note: in expansion of macro ‘ecs_check’ 35082 | ecs_check(desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:35084:18: note: crosses initialization of ‘ecs_stage_t* stage’ 35084 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:35113:1: error: jump to label ‘error’ 35113 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:35081:5: note: in expansion of macro ‘ecs_check’ 35081 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:35084:18: note: crosses initialization of ‘ecs_stage_t* stage’ 35084 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c:35113:1: error: jump to label ‘error’ 35113 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:35080:5: note: in expansion of macro ‘ecs_check’ 35080 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:35084:18: note: crosses initialization of ‘ecs_stage_t* stage’ 35084 | ecs_stage_t *stage = flecs_stage_from_world(&world); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_index_page_t* flecs_entity_index_ensure_page(ecs_entity_index_t*, uint32_t)’: ../src/flecs/distr/flecs.c:35133:41: error: invalid conversion from ‘void*’ to ‘ecs_entity_index_page_t*’ [-fpermissive] 35133 | page = *page_ptr = flecs_bcalloc(&index->page_allocator); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_record_t* flecs_entity_index_ensure(ecs_entity_index_t*, uint64_t)’: ../src/flecs/distr/flecs.c:35261:34: error: invalid conversion from ‘void*’ to ‘uint64_t*’ {aka ‘long unsigned int*’} [-fpermissive] 35261 | uint64_t *ids = ecs_vec_first(&index->dense); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_id_record_elem_t* flecs_id_record_elem(ecs_id_record_t*, ecs_id_record_elem_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_id_record_elem_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:35493:12: note: in expansion of macro ‘ECS_OFFSET’ 35493 | return ECS_OFFSET(idr, (uintptr_t)list - (uintptr_t)head); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_id_record_init_sparse(ecs_world_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.c:35610:36: error: invalid conversion from ‘void*’ to ‘ecs_sparse_t*’ [-fpermissive] 35610 | flecs_sparse_init(idr->sparse, NULL, NULL, idr->type_info->size); | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:30265:19: note: initializing argument 1 of ‘void flecs_sparse_init(ecs_sparse_t*, ecs_allocator_t*, ecs_block_allocator_t*, ecs_size_t)’ 30265 | ecs_sparse_t *result, | ~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:35614:36: error: invalid conversion from ‘void*’ to ‘ecs_switch_t*’ [-fpermissive] 35614 | flecs_switch_init(idr->sparse, &world->allocator); | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31594:19: note: initializing argument 1 of ‘void flecs_switch_init(ecs_switch_t*, ecs_allocator_t*)’ 31594 | ecs_switch_t* sw, | ~~~~~~~~~~~~~~^~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_id_record_fini_sparse(ecs_world_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.c:35626:48: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 35626 | ecs_assert(flecs_sparse_count(idr->sparse) == 0, | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.h:10810:11: note: in definition of macro ‘ecs_assert’ 10810 | if (!(condition)) {\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:30664:25: note: initializing argument 1 of ‘int32_t flecs_sparse_count(const ecs_sparse_t*)’ 30664 | const ecs_sparse_t *sparse) | ~~~~~~~~~~~~~~~~~~~~^~~~~~ In file included from ../src/flecs/distr/flecs.h:713, from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:35626:48: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 35626 | ecs_assert(flecs_sparse_count(idr->sparse) == 0, | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:35626:13: note: in expansion of macro ‘ecs_assert’ 35626 | ecs_assert(flecs_sparse_count(idr->sparse) == 0, | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:30664:25: note: initializing argument 1 of ‘int32_t flecs_sparse_count(const ecs_sparse_t*)’ 30664 | const ecs_sparse_t *sparse) | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:35628:36: error: invalid conversion from ‘void*’ to ‘ecs_sparse_t*’ [-fpermissive] 35628 | flecs_sparse_fini(idr->sparse); | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:30308:19: note: initializing argument 1 of ‘void flecs_sparse_fini(ecs_sparse_t*)’ 30308 | ecs_sparse_t *sparse) | ~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c:35632:36: error: invalid conversion from ‘void*’ to ‘ecs_switch_t*’ [-fpermissive] 35632 | flecs_switch_fini(idr->sparse); | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31602:19: note: initializing argument 1 of ‘void flecs_switch_fini(ecs_switch_t*)’ 31602 | ecs_switch_t* sw) | ~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c: In function ‘ecs_id_record_t* flecs_id_record_new(ecs_world_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:35665:28: error: invalid conversion from ‘void*’ to ‘ecs_id_record_t*’ [-fpermissive] 35665 | idr = flecs_bcalloc(&world->allocators.id_record); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_id_record_release_tables(ecs_world_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:36024:22: note: in expansion of macro ‘flecs_table_cache_next’ 36024 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_fini_id_records(ecs_world_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_id_record_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:36139:40: note: in expansion of macro ‘ecs_map_ptr’ 36139 | flecs_id_record_release(world, ecs_map_ptr(&it)); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:36005:22: note: initializing argument 2 of ‘int32_t flecs_id_record_release(ecs_world_t*, ecs_id_record_t*)’ 36005 | ecs_id_record_t *idr) | ~~~~~~~~~~~~~~~~~^~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_table_init_columns(ecs_world_t*, ecs_table_t*, int32_t)’: ../src/flecs/distr/flecs.h:2005:44: error: invalid conversion from ‘void*’ to ‘ecs_column_t*’ [-fpermissive] 2005 | #define flecs_calloc(a, size) flecs_bcalloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2007:37: note: in expansion of macro ‘flecs_calloc’ 2007 | #define flecs_calloc_n(a, T, count) flecs_calloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2911:5: note: in expansion of macro ‘flecs_calloc_n’ 2911 | flecs_calloc_n(&world->allocator, T, count) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:36351:29: note: in expansion of macro ‘flecs_wcalloc_n’ 36351 | ecs_column_t *columns = flecs_wcalloc_n(world, ecs_column_t, column_count); | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_table_init_data(ecs_world_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.h:2005:44: error: invalid conversion from ‘void*’ to ‘ecs_bitset_t*’ [-fpermissive] 2005 | #define flecs_calloc(a, size) flecs_bcalloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2007:37: note: in expansion of macro ‘flecs_calloc’ 2007 | #define flecs_calloc_n(a, T, count) flecs_calloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2911:5: note: in expansion of macro ‘flecs_calloc_n’ 2911 | flecs_calloc_n(&world->allocator, T, count) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:36408:28: note: in expansion of macro ‘flecs_wcalloc_n’ 36408 | meta->bs_columns = flecs_wcalloc_n(world, ecs_bitset_t, bs_count); | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_table_emit(ecs_world_t*, ecs_table_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:36525:5: error: designator order for field ‘ecs_event_desc_t::event’ does not match declaration order in ‘ecs_event_desc_t’ 36525 | }); | ^ ../src/flecs/distr/flecs.c:36519:53: error: taking address of rvalue [-fpermissive] 36519 | flecs_emit(world, world, 0, &(ecs_event_desc_t) { | ^ 36520 | .ids = &table->type, | ~~~~~~~~~~~~~~~~~~~~ 36521 | .event = event, | ~~~~~~~~~~~~~~~ 36522 | .table = table, | ~~~~~~~~~~~~~~~ 36523 | .flags = EcsEventTableOnly, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 36524 | .observable = world | ~~~~~~~~~~~~~~~~~~~ 36525 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_table_init(ecs_world_t*, ecs_table_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.h:2024:48: error: invalid conversion from ‘void*’ to ‘ecs_table_record_t*’ [-fpermissive] 2024 | #define flecs_dup_n(a, T, count, ptr) flecs_dup(a, ECS_SIZEOF(T) * (count), ptr) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:2923:5: note: in expansion of macro ‘flecs_dup_n’ 2923 | flecs_dup_n(&world->allocator, T, count, ptr) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:36738:34: note: in expansion of macro ‘flecs_wdup_n’ 36738 | ecs_table_record_t *dst_tr = flecs_wdup_n(world, ecs_table_record_t, | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2005:44: error: invalid conversion from ‘void*’ to ‘int16_t*’ {aka ‘short int*’} [-fpermissive] 2005 | #define flecs_calloc(a, size) flecs_bcalloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2007:37: note: in expansion of macro ‘flecs_calloc’ 2007 | #define flecs_calloc_n(a, T, count) flecs_calloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2911:5: note: in expansion of macro ‘flecs_calloc_n’ 2911 | flecs_calloc_n(&world->allocator, T, count) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:36781:28: note: in expansion of macro ‘flecs_wcalloc_n’ 36781 | table->component_map = flecs_wcalloc_n( | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘int16_t*’ {aka ‘short int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:2905:5: note: in expansion of macro ‘flecs_alloc_n’ 2905 | flecs_alloc_n(&world->allocator, T, count) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:36785:29: note: in expansion of macro ‘flecs_walloc_n’ 36785 | table->column_map = flecs_walloc_n(world, int16_t, | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t* flecs_table_get_dirty_state(ecs_world_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘int32_t*’ {aka ‘int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:37372:30: note: in expansion of macro ‘flecs_alloc_n’ 37372 | table->dirty_state = flecs_alloc_n(&world->allocator, | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_table_grow_data(ecs_world_t*, ecs_table_t*, int32_t, int32_t, const ecs_entity_t*)’: ../src/flecs/distr/flecs.c:37554:39: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 37554 | table->data.entities = v_entities.array; | ~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_table_append(ecs_world_t*, ecs_table_t*, ecs_entity_t, bool, bool)’: ../src/flecs/distr/flecs.c:37645:64: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 37645 | ecs_entity_t *entities = table->data.entities = v_entities.array; | ~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘bool flecs_table_shrink(ecs_world_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.c:38050:39: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 38050 | table->data.entities = v_entities.array; | ~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_table_merge_data(ecs_world_t*, ecs_table_t*, ecs_table_t*, int32_t, int32_t)’: ../src/flecs/distr/flecs.c:38336:45: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 38336 | dst_table->data.entities = dst_entities.array; | ~~~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c:38340:45: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 38340 | src_table->data.entities = src_entities.array; | ~~~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_table_get_type_index(const ecs_world_t*, const ecs_table_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:38515:1: error: jump to label ‘error’ 38515 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38493:5: note: in expansion of macro ‘ecs_check’ 38493 | ecs_check(table != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38509:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 38509 | ecs_table_record_t *tr = flecs_id_record_get_table(idr, table); | ^~ ../src/flecs/distr/flecs.c:38504:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 38504 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_table_get_column_index(const ecs_world_t*, const ecs_table_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:38547:1: error: jump to label ‘error’ 38547 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38526:5: note: in expansion of macro ‘ecs_check’ 38526 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38541:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 38541 | ecs_table_record_t *tr = flecs_id_record_get_table(idr, table); | ^~ ../src/flecs/distr/flecs.c:38536:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 38536 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c:38547:1: error: jump to label ‘error’ 38547 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38525:5: note: in expansion of macro ‘ecs_check’ 38525 | ecs_check(table != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38541:25: note: crosses initialization of ‘ecs_table_record_t* tr’ 38541 | ecs_table_record_t *tr = flecs_id_record_get_table(idr, table); | ^~ ../src/flecs/distr/flecs.c:38536:22: note: crosses initialization of ‘ecs_id_record_t* idr’ 38536 | ecs_id_record_t *idr = flecs_id_record_get(world, id); | ^~~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_table_type_to_column_index(const ecs_table_t*, int32_t)’: ../src/flecs/distr/flecs.c:38567:1: error: jump to label ‘error’ 38567 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38562:5: note: in expansion of macro ‘ecs_check’ 38562 | ecs_check(index < table->type.count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38563:14: note: crosses initialization of ‘int16_t* column_map’ 38563 | int16_t *column_map = table->column_map; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t ecs_table_column_to_type_index(const ecs_table_t*, int32_t)’: ../src/flecs/distr/flecs.c:38579:1: error: jump to label ‘error’ 38579 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38576:5: note: in expansion of macro ‘ecs_check’ 38576 | ecs_check(table->column_map != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38577:13: note: crosses initialization of ‘int32_t offset’ 38577 | int32_t offset = table->type.count; | ^~~~~~ ../src/flecs/distr/flecs.c:38579:1: error: jump to label ‘error’ 38579 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38575:5: note: in expansion of macro ‘ecs_check’ 38575 | ecs_check(index < table->column_count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38577:13: note: crosses initialization of ‘int32_t offset’ 38577 | int32_t offset = table->type.count; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘void* ecs_table_get_column(const ecs_table_t*, int32_t, int32_t)’: ../src/flecs/distr/flecs.c:38598:1: error: jump to label ‘error’ 38598 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38589:5: note: in expansion of macro ‘ecs_check’ 38589 | ecs_check(index < table->column_count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38592:11: note: crosses initialization of ‘void* result’ 38592 | void *result = column->data; | ^~~~~~ ../src/flecs/distr/flecs.c:38591:19: note: crosses initialization of ‘ecs_column_t* column’ 38591 | ecs_column_t *column = &table->data.columns[index]; | ^~~~~~ ../src/flecs/distr/flecs.c:38598:1: error: jump to label ‘error’ 38598 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38588:5: note: in expansion of macro ‘ecs_check’ 38588 | ecs_check(table != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38592:11: note: crosses initialization of ‘void* result’ 38592 | void *result = column->data; | ^~~~~~ ../src/flecs/distr/flecs.c:38591:19: note: crosses initialization of ‘ecs_column_t* column’ 38591 | ecs_column_t *column = &table->data.columns[index]; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘void* ecs_table_get_id(const ecs_world_t*, const ecs_table_t*, ecs_id_t, int32_t)’: ../src/flecs/distr/flecs.c:38620:1: error: jump to label ‘error’ 38620 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38610:5: note: in expansion of macro ‘ecs_check’ 38610 | ecs_check(ecs_id_is_valid(world, id), ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38614:13: note: crosses initialization of ‘int32_t index’ 38614 | int32_t index = ecs_table_get_column_index(world, table, id); | ^~~~~ ../src/flecs/distr/flecs.c:38620:1: error: jump to label ‘error’ 38620 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38609:5: note: in expansion of macro ‘ecs_check’ 38609 | ecs_check(table != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38614:13: note: crosses initialization of ‘int32_t index’ 38614 | int32_t index = ecs_table_get_column_index(world, table, id); | ^~~~~ ../src/flecs/distr/flecs.c:38620:1: error: jump to label ‘error’ 38620 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38608:5: note: in expansion of macro ‘ecs_check’ 38608 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38614:13: note: crosses initialization of ‘int32_t index’ 38614 | int32_t index = ecs_table_get_column_index(world, table, id); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void* ecs_record_get_by_column(const ecs_record_t*, int32_t, size_t)’: ../src/flecs/distr/flecs.c:38716:1: error: jump to label ‘error’ 38716 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38708:5: note: in expansion of macro ‘ecs_check’ 38708 | ecs_check(index < table->column_count, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38710:16: note: crosses initialization of ‘ecs_size_t size’ 38710 | ecs_size_t size = column->ti->size; | ^~~~ ../src/flecs/distr/flecs.c:38709:19: note: crosses initialization of ‘ecs_column_t* column’ 38709 | ecs_column_t *column = &table->data.columns[index]; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_record_t* ecs_record_find(const ecs_world_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:38733:1: error: jump to label ‘error’ 38733 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38725:5: note: in expansion of macro ‘ecs_check’ 38725 | ecs_check(entity != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38729:19: note: crosses initialization of ‘ecs_record_t* r’ 38729 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ ../src/flecs/distr/flecs.c:38733:1: error: jump to label ‘error’ 38733 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:38724:5: note: in expansion of macro ‘ecs_check’ 38724 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:38729:19: note: crosses initialization of ‘ecs_record_t* r’ 38729 | ecs_record_t *r = flecs_entities_get(world, entity); | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void ecs_table_cache_replace(ecs_table_cache_t*, const ecs_table_t*, ecs_table_cache_hdr_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_map_val_t*’ {aka ‘long unsigned int*’} to type ‘ecs_table_cache_hdr_t**’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1850:34: note: in expansion of macro ‘ECS_CAST’ 1850 | #define ecs_map_get_ref(m, T, k) ECS_CAST(T**, ecs_map_get(m, k)) | ^~~~~~~~ ../src/flecs/distr/flecs.c:38881:33: note: in expansion of macro ‘ecs_map_get_ref’ 38881 | ecs_table_cache_hdr_t **r = ecs_map_get_ref( | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘uint64_t flecs_type_hash(const void*)’: ../src/flecs/distr/flecs.c:39043:30: error: invalid conversion from ‘const void*’ to ‘const ecs_type_t*’ [-fpermissive] 39043 | const ecs_type_t *type = ptr; | ^~~ | | | const void* ../src/flecs/distr/flecs.c: In function ‘int flecs_type_compare(const void*, const void*)’: ../src/flecs/distr/flecs.c:39051:32: error: invalid conversion from ‘const void*’ to ‘const ecs_type_t*’ [-fpermissive] 39051 | const ecs_type_t *type_1 = ptr_1; | ^~~~~ | | | const void* ../src/flecs/distr/flecs.c:39052:32: error: invalid conversion from ‘const void*’ to ‘const ecs_type_t*’ [-fpermissive] 39052 | const ecs_type_t *type_2 = ptr_2; | ^~~~~ | | | const void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_type_new_with(ecs_world_t*, ecs_type_t*, const ecs_type_t*, ecs_id_t)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:2905:5: note: in expansion of macro ‘flecs_alloc_n’ 2905 | flecs_alloc_n(&world->allocator, T, count) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:39162:27: note: in expansion of macro ‘flecs_walloc_n’ 39162 | ecs_id_t *dst_array = flecs_walloc_n(world, ecs_id_t, dst_count); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_type_new_filtered(ecs_world_t*, ecs_type_t*, const ecs_type_t*, ecs_id_t, int32_t)’: ../src/flecs/distr/flecs.h:2018:19: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2018 | flecs_brealloc(flecs_allocator_get(a, size_dst),\ | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* 2019 | flecs_allocator_get(a, size_src),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2020 | ptr) | ~~~~ ../src/flecs/distr/flecs.h:2022:5: note: in expansion of macro ‘flecs_realloc’ 2022 | flecs_realloc(a, ECS_SIZEOF(T) * (count_dst), ECS_SIZEOF(T) * (count_src), ptr) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2919:5: note: in expansion of macro ‘flecs_realloc_n’ 2919 | flecs_realloc_n(&world->allocator, T, count_dst, count_src, ptr) | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:39208:22: note: in expansion of macro ‘flecs_wrealloc_n’ 39208 | dst->array = flecs_wrealloc_n(world, ecs_id_t, w, count, dst->array); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_type_new_without(ecs_world_t*, ecs_type_t*, const ecs_type_t*, ecs_id_t)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:2905:5: note: in expansion of macro ‘flecs_alloc_n’ 2905 | flecs_alloc_n(&world->allocator, T, count) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:39253:27: note: in expansion of macro ‘flecs_walloc_n’ 39253 | ecs_id_t *dst_array = flecs_walloc_n(world, ecs_id_t, dst_count); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_type_t flecs_type_copy(ecs_world_t*, const ecs_type_t*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:2905:5: note: in expansion of macro ‘flecs_alloc_n’ 2905 | flecs_alloc_n(&world->allocator, T, count) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:39279:21: note: in expansion of macro ‘flecs_walloc_n’ 39279 | ecs_id_t *ids = flecs_walloc_n(world, ecs_id_t, src_count); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_table_diff_build_type(ecs_world_t*, ecs_vec_t*, ecs_type_t*, int32_t)’: ../src/flecs/distr/flecs.h:2024:48: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2024 | #define flecs_dup_n(a, T, count, ptr) flecs_dup(a, ECS_SIZEOF(T) * (count), ptr) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:2923:5: note: in expansion of macro ‘flecs_dup_n’ 2923 | flecs_dup_n(&world->allocator, T, count, ptr) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:39353:23: note: in expansion of macro ‘flecs_wdup_n’ 39353 | type->array = flecs_wdup_n(world, ecs_id_t, count, | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_table_diff_build_noalloc(ecs_table_diff_builder_t*, ecs_table_diff_t*)’: ../src/flecs/distr/flecs.c:39380:33: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 39380 | .array = builder->added.array, .count = builder->added.count }; | ~~~~~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c:39382:35: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 39382 | .array = builder->removed.array, .count = builder->removed.count }; | ~~~~~~~~~~~~~~~~~^~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_graph_edge_t* flecs_table_ensure_hi_edge(ecs_world_t*, ecs_graph_edges_t*, ecs_id_t)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_map_t*’ [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2002:29: note: in expansion of macro ‘flecs_alloc’ 2002 | #define flecs_alloc_t(a, T) flecs_alloc(a, ECS_SIZEOF(T)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:39431:21: note: in expansion of macro ‘flecs_alloc_t’ 39431 | edges->hi = flecs_alloc_t(&world->allocator, ecs_map_t); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_map_val_t*’ {aka ‘long unsigned int*’} to type ‘ecs_graph_edge_t**’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1852:37: note: in expansion of macro ‘ECS_CAST’ 1852 | #define ecs_map_ensure_ref(m, T, k) ECS_CAST(T**, ecs_map_ensure(m, k)) | ^~~~~~~~ ../src/flecs/distr/flecs.c:39435:28: note: in expansion of macro ‘ecs_map_ensure_ref’ 39435 | ecs_graph_edge_t **r = ecs_map_ensure_ref(edges->hi, ecs_graph_edge_t, id); | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:39444:29: error: invalid conversion from ‘void*’ to ‘ecs_graph_edge_t*’ [-fpermissive] 39444 | edge = flecs_bcalloc(&world->allocators.graph_edge); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_graph_edge_t* flecs_table_ensure_edge(ecs_world_t*, ecs_graph_edges_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:39461:38: error: invalid conversion from ‘void*’ to ‘ecs_graph_edge_t*’ [-fpermissive] 39461 | edges->lo = flecs_bcalloc(&world->allocators.graph_edge_lo); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_table_t* flecs_table_new(ecs_world_t*, ecs_type_t*, flecs_hashmap_result_t, ecs_table_t*)’: ../src/flecs/distr/flecs.h:2005:44: error: invalid conversion from ‘void*’ to ‘ecs_table__t*’ [-fpermissive] 2005 | #define flecs_calloc(a, size) flecs_bcalloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2006:30: note: in expansion of macro ‘flecs_calloc’ 2006 | #define flecs_calloc_t(a, T) flecs_calloc(a, ECS_SIZEOF(T)) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:39578:17: note: in expansion of macro ‘flecs_calloc_t’ 39578 | result->_ = flecs_calloc_t(&world->allocator, ecs_table__t); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_compute_table_diff(ecs_world_t*, ecs_table_t*, ecs_table_t*, ecs_graph_edge_t*, ecs_id_t)’: ../src/flecs/distr/flecs.c:39707:55: error: invalid conversion from ‘void*’ to ‘ecs_table_diff_t*’ [-fpermissive] 39707 | ecs_table_diff_t *diff = flecs_bcalloc( | ~~~~~~~~~~~~~^ | | | void* 39708 | &world->allocators.table_diff); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2024:48: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2024 | #define flecs_dup_n(a, T, count, ptr) flecs_dup(a, ECS_SIZEOF(T) * (count), ptr) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:2923:5: note: in expansion of macro ‘flecs_dup_n’ 2923 | flecs_dup_n(&world->allocator, T, count, ptr) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:39710:37: note: in expansion of macro ‘flecs_wdup_n’ 39710 | diff->added.array = flecs_wdup_n(world, ecs_id_t, 1, &id); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:39800:43: error: invalid conversion from ‘void*’ to ‘ecs_table_diff_t*’ [-fpermissive] 39800 | ecs_table_diff_t *diff = flecs_bcalloc(&world->allocators.table_diff); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_table_t* flecs_table_traverse_remove(ecs_world_t*, ecs_table_t*, ecs_id_t*, ecs_table_diff_t*)’: ../src/flecs/distr/flecs.c:40135:1: error: jump to label ‘error’ 40135 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40112:5: note: in expansion of macro ‘ecs_check’ 40112 | ecs_check(id_ptr[0] != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:40116:18: note: crosses initialization of ‘ecs_table_t* to’ 40116 | ecs_table_t *to = edge->to; | ^~ ../src/flecs/distr/flecs.c:40115:23: note: crosses initialization of ‘ecs_graph_edge_t* edge’ 40115 | ecs_graph_edge_t *edge = flecs_table_ensure_edge(world, &node->node.remove, id); | ^~~~ ../src/flecs/distr/flecs.c:40114:14: note: crosses initialization of ‘ecs_id_t id’ 40114 | ecs_id_t id = id_ptr[0]; | ^~ ../src/flecs/distr/flecs.c:40135:1: error: jump to label ‘error’ 40135 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40111:5: note: in expansion of macro ‘ecs_check’ 40111 | ecs_check(id_ptr != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:40116:18: note: crosses initialization of ‘ecs_table_t* to’ 40116 | ecs_table_t *to = edge->to; | ^~ ../src/flecs/distr/flecs.c:40115:23: note: crosses initialization of ‘ecs_graph_edge_t* edge’ 40115 | ecs_graph_edge_t *edge = flecs_table_ensure_edge(world, &node->node.remove, id); | ^~~~ ../src/flecs/distr/flecs.c:40114:14: note: crosses initialization of ‘ecs_id_t id’ 40114 | ecs_id_t id = id_ptr[0]; | ^~ ../src/flecs/distr/flecs.c: In function ‘ecs_table_t* flecs_table_traverse_add(ecs_world_t*, ecs_table_t*, ecs_id_t*, ecs_table_diff_t*)’: ../src/flecs/distr/flecs.c:40180:1: error: jump to label ‘error’ 40180 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40152:5: note: in expansion of macro ‘ecs_check’ 40152 | ecs_check(id_ptr[0] != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:40156:18: note: crosses initialization of ‘ecs_table_t* to’ 40156 | ecs_table_t *to = edge->to; | ^~ ../src/flecs/distr/flecs.c:40155:23: note: crosses initialization of ‘ecs_graph_edge_t* edge’ 40155 | ecs_graph_edge_t *edge = flecs_table_ensure_edge(world, &node->node.add, id); | ^~~~ ../src/flecs/distr/flecs.c:40154:14: note: crosses initialization of ‘ecs_id_t id’ 40154 | ecs_id_t id = id_ptr[0]; | ^~ ../src/flecs/distr/flecs.c:40180:1: error: jump to label ‘error’ 40180 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40151:5: note: in expansion of macro ‘ecs_check’ 40151 | ecs_check(id_ptr != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:40156:18: note: crosses initialization of ‘ecs_table_t* to’ 40156 | ecs_table_t *to = edge->to; | ^~ ../src/flecs/distr/flecs.c:40155:23: note: crosses initialization of ‘ecs_graph_edge_t* edge’ 40155 | ecs_graph_edge_t *edge = flecs_table_ensure_edge(world, &node->node.add, id); | ^~~~ ../src/flecs/distr/flecs.c:40154:14: note: crosses initialization of ‘ecs_id_t id’ 40154 | ecs_id_t id = id_ptr[0]; | ^~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_init_root_table(ecs_world_t*)’: ../src/flecs/distr/flecs.h:2005:44: error: invalid conversion from ‘void*’ to ‘ecs_table__t*’ [-fpermissive] 2005 | #define flecs_calloc(a, size) flecs_bcalloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2006:30: note: in expansion of macro ‘flecs_calloc’ 2006 | #define flecs_calloc_t(a, T) flecs_calloc(a, ECS_SIZEOF(T)) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40198:27: note: in expansion of macro ‘flecs_calloc_t’ 40198 | world->store.root._ = flecs_calloc_t(&world->allocator, ecs_table__t); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_table_edges_add_flags(ecs_world_t*, ecs_table_t*, ecs_id_t, ecs_flags32_t)’: ../src/flecs/distr/flecs.c:40224:51: error: invalid conversion from ‘void*’ to ‘ecs_table_diff_t*’ [-fpermissive] 40224 | edge->diff = flecs_bcalloc(&world->allocators.table_diff); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2002:29: note: in expansion of macro ‘flecs_alloc’ 2002 | #define flecs_alloc_t(a, T) flecs_alloc(a, ECS_SIZEOF(T)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:2903:5: note: in expansion of macro ‘flecs_alloc_t’ 2903 | flecs_alloc_t(&world->allocator, T) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40225:51: note: in expansion of macro ‘flecs_walloc_t’ 40225 | edge->diff->added.array = flecs_walloc_t(world, ecs_id_t); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_graph_edge_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40242:42: note: in expansion of macro ‘ecs_map_ptr’ 40242 | ecs_graph_edge_t *edge = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:40244:47: error: invalid conversion from ‘void*’ to ‘ecs_table_diff_t*’ [-fpermissive] 40244 | edge->diff = flecs_bcalloc(&world->allocators.table_diff); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2002:29: note: in expansion of macro ‘flecs_alloc’ 2002 | #define flecs_alloc_t(a, T) flecs_alloc(a, ECS_SIZEOF(T)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:2903:5: note: in expansion of macro ‘flecs_alloc_t’ 2903 | flecs_alloc_t(&world->allocator, T) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40245:49: note: in expansion of macro ‘flecs_walloc_t’ 40245 | edge->diff->removed.array = flecs_walloc_t(world, ecs_id_t); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_table_clear_edges(ecs_world_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_graph_edge_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40275:62: note: in expansion of macro ‘ecs_map_ptr’ 40275 | flecs_table_disconnect_edge(world, ecs_map_key(&it), ecs_map_ptr(&it)); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:39475:23: note: initializing argument 3 of ‘void flecs_table_disconnect_edge(ecs_world_t*, ecs_id_t, ecs_graph_edge_t*)’ 39475 | ecs_graph_edge_t *edge) | ~~~~~~~~~~~~~~~~~~^~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_graph_edge_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:40280:62: note: in expansion of macro ‘ecs_map_ptr’ 40280 | flecs_table_disconnect_edge(world, ecs_map_key(&it), ecs_map_ptr(&it)); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:39475:23: note: initializing argument 3 of ‘void flecs_table_disconnect_edge(ecs_world_t*, ecs_id_t, ecs_graph_edge_t*)’ 39475 | ecs_graph_edge_t *edge) | ~~~~~~~~~~~~~~~~~~^~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t flecs_json_ensure_entity(ecs_world_t*, const char*, ecs_map_t*)’: ../src/flecs/distr/flecs.c:40808:35: error: taking address of rvalue [-fpermissive] 40808 | e = ecs_entity(world, { .name = name }); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* flecs_entity_from_json(ecs_world_t*, ecs_entity_t, const char*, const ecs_from_json_desc_t*, ecs_from_json_ctx_t*)’: ../src/flecs/distr/flecs.c:41311:38: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 41311 | ecs_id_t *ids = ecs_vec_first(&ctx->table_type); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:41316:26: error: invalid conversion from ‘void*’ to ‘const ecs_id_t*’ {aka ‘const long unsigned int*’} [-fpermissive] 41316 | ecs_vec_first(&ctx->table_type), ecs_vec_count(&ctx->table_type)); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:40347:21: note: initializing argument 2 of ‘ecs_table_t* ecs_table_find(ecs_world_t*, const ecs_id_t*, int32_t)’ 40347 | const ecs_id_t *ids, | ~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:41349:43: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 41349 | .array = ecs_vec_first(&ctx->remove_ids), | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:41361:1: error: jump to label ‘end’ 41361 | end: | ^~~ ../src/flecs/distr/flecs.c:41284:18: note: from here 41284 | goto end; | ^~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41361:1: error: jump to label ‘end’ 41361 | end: | ^~~ ../src/flecs/distr/flecs.c:41264:18: note: from here 41264 | goto end; | ^~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41361:1: error: jump to label ‘end’ 41361 | end: | ^~~ ../src/flecs/distr/flecs.c:41252:18: note: from here 41252 | goto end; | ^~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41361:1: error: jump to label ‘end’ 41361 | end: | ^~~ ../src/flecs/distr/flecs.c:41232:18: note: from here 41232 | goto end; | ^~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41361:1: error: jump to label ‘end’ 41361 | end: | ^~~ ../src/flecs/distr/flecs.c:41201:18: note: from here 41201 | goto end; | ^~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41361:1: error: jump to label ‘end’ 41361 | end: | ^~~ ../src/flecs/distr/flecs.c:41172:18: note: from here 41172 | goto end; | ^~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41361:1: error: jump to label ‘end’ 41361 | end: | ^~~ ../src/flecs/distr/flecs.c:41141:14: note: from here 41141 | goto end; | ^~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41305:14: note: from here 41305 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41299:18: note: from here 41299 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41279:18: note: from here 41279 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41259:18: note: from here 41259 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41244:18: note: from here 41244 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41208:18: note: from here 41208 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41198:18: note: from here 41198 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41180:18: note: from here 41180 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41169:18: note: from here 41169 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41153:18: note: from here 41153 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41146:14: note: from here 41146 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41136:14: note: from here 41136 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c:41363:1: error: jump to label ‘error’ 41363 | error: | ^~~~~ ../src/flecs/distr/flecs.c:41131:14: note: from here 41131 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:41309:18: note: crosses initialization of ‘ecs_table_t* table’ 41309 | ecs_table_t *table = r ? r->table : NULL; | ^~~~~ ../src/flecs/distr/flecs.c:41308:19: note: crosses initialization of ‘ecs_record_t* r’ 41308 | ecs_record_t *r = flecs_entities_get(world, e); | ^ ../src/flecs/distr/flecs.c: In function ‘const char* ecs_ptr_from_json(const ecs_world_t*, ecs_entity_t, void*, const char*, const ecs_from_json_desc_t*)’: ../src/flecs/distr/flecs.c:41506:35: error: invalid conversion from ‘int’ to ‘ecs_json_token_t’ [-fpermissive] 41506 | ecs_json_token_t token_kind = 0; | ^ | | | int ../src/flecs/distr/flecs.c: In function ‘const char* flecs_json_expect(const char*, ecs_json_token_t, char*, const ecs_from_json_desc_t*)’: ../src/flecs/distr/flecs.c:41849:29: error: invalid conversion from ‘int’ to ‘ecs_json_token_t’ [-fpermissive] 41849 | ecs_json_token_t kind = 0; | ^ | | | int ../src/flecs/distr/flecs.c: In function ‘const char* flecs_json_expect_string(const char*, char*, char**, const ecs_from_json_desc_t*)’: ../src/flecs/distr/flecs.c:41878:35: error: invalid conversion from ‘int’ to ‘ecs_json_token_t’ [-fpermissive] 41878 | ecs_json_token_t token_kind = 0; | ^ | | | int ../src/flecs/distr/flecs.c: In function ‘const char* flecs_json_skip_object(const char*, char*, const ecs_from_json_desc_t*)’: ../src/flecs/distr/flecs.c:41994:35: error: invalid conversion from ‘int’ to ‘ecs_json_token_t’ [-fpermissive] 41994 | ecs_json_token_t token_kind = 0; | ^ | | | int ../src/flecs/distr/flecs.c: In function ‘const char* flecs_json_skip_array(const char*, char*, const ecs_from_json_desc_t*)’: ../src/flecs/distr/flecs.c:42025:35: error: invalid conversion from ‘int’ to ‘ecs_json_token_t’ [-fpermissive] 42025 | ecs_json_token_t token_kind = 0; | ^ | | | int In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_json_string_escape(ecs_strbuf_t*, const char*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:42141:21: note: in expansion of macro ‘ecs_os_malloc’ 42141 | char *out = ecs_os_malloc(length + 3); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_primitive_kind_t flecs_json_op_to_primitive_kind(ecs_meta_type_op_kind_t)’: ../src/flecs/distr/flecs.c:42343:17: error: invalid conversion from ‘int’ to ‘ecs_primitive_kind_t’ [-fpermissive] 42343 | return kind - EcsOpPrimitive; | ~~~~~^~~~~~~~~~~~~~~~ | | | int ../src/flecs/distr/flecs.c: In function ‘int ecs_entity_to_json_buf(const ecs_world_t*, ecs_entity_t, ecs_strbuf_t*, const ecs_entity_to_json_desc_t*)’: ../src/flecs/distr/flecs.c:42442:5: error: designator order for field ‘ecs_iter_t::entities’ does not match declaration order in ‘ecs_iter_t’ 42442 | }; | ^ ../src/flecs/distr/flecs.c:42457:5: error: designator order for field ‘ecs_iter_to_json_desc_t::serialize_entity_ids’ does not match declaration order in ‘ecs_iter_to_json_desc_t’ 42457 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘void flecs_json_serialize_type_info(const ecs_world_t*, const ecs_iter_t*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.c:42633:22: error: expected unqualified-id before ‘typeid’ 42633 | ecs_entity_t typeid = 0; | ^~~~~~ ../src/flecs/distr/flecs.c:42635:20: error: expected ‘(’ before ‘=’ token 42635 | typeid = ecs_get_typeid(world, it->query->terms[i].id); | ^ | ( ../src/flecs/distr/flecs.c:42635:20: error: expected primary-expression before ‘=’ token ../src/flecs/distr/flecs.c:42635:67: error: expected ‘)’ before ‘;’ token 42635 | typeid = ecs_get_typeid(world, it->query->terms[i].id); | ~ ^ | ) ../src/flecs/distr/flecs.c:42637:19: error: expected ‘(’ before ‘)’ token 42637 | if (typeid) { | ^ | ( ../src/flecs/distr/flecs.c:42637:19: error: expected primary-expression before ‘)’ token ../src/flecs/distr/flecs.c:42637:20: error: expected ‘)’ before ‘{’ token 42637 | if (typeid) { | ~ ^~ | ) ../src/flecs/distr/flecs.c:42645:5: error: expected primary-expression before ‘}’ token 42645 | } | ^ ../src/flecs/distr/flecs.c: In function ‘void flecs_json_serialize_query_plan(const ecs_world_t*, ecs_strbuf_t*, const ecs_iter_to_json_desc_t*)’: ../src/flecs/distr/flecs.c:42706:34: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘const ecs_query_t*’ [-fpermissive] 42706 | const ecs_query_t *q = desc->query; | ~~~~~~^~~~~ | | | ecs_poly_t* {aka void*} ../src/flecs/distr/flecs.c: In function ‘void flecs_json_serialize_query_profile(const ecs_world_t*, ecs_strbuf_t*, const ecs_iter_t*, const ecs_iter_to_json_desc_t*)’: ../src/flecs/distr/flecs.c:42777:54: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘const ecs_query_t*’ [-fpermissive] 42777 | ecs_iter_t qit = ecs_query_iter(world, desc->query); | ~~~~~~^~~~~ | | | ecs_poly_t* {aka void*} In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:7887:24: note: initializing argument 2 of ‘ecs_iter_t ecs_query_iter(const ecs_world_t*, const ecs_query_t*)’ 7887 | const ecs_query_t *query); | ~~~~~~~~~~~~~~~~~~~^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_json_serialize_matches(const ecs_world_t*, ecs_strbuf_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:43022:26: note: in expansion of macro ‘flecs_table_cache_next’ 43022 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:43024:56: error: invalid conversion from ‘void*’ to ‘EcsPoly*’ [-fpermissive] 43024 | EcsPoly *queries = ecs_table_get_column(table, tr->column, 0); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:43029:49: error: invalid conversion from ‘ecs_poly_t*’ {aka ‘void*’} to ‘ecs_query_t*’ [-fpermissive] 43029 | ecs_query_t *q = queries[i].poly; | ~~~~~~~~~~~^~~~ | | | ecs_poly_t* {aka void*} In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_json_serialize_refs_idr(const ecs_world_t*, ecs_strbuf_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:43078:22: note: in expansion of macro ‘flecs_table_cache_next’ 43078 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_json_serialize_children_alerts(const ecs_world_t*, ecs_strbuf_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:43177:69: error: taking address of rvalue [-fpermissive] 43177 | ecs_query_t *q = ecs_query(ECS_CONST_CAST(ecs_world_t*, world), { | ^ 43178 | .terms = {{ .id = ecs_pair(EcsChildOf, entity) }} | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 43179 | }); | ~ ../src/flecs/distr/flecs.h:9700:47: note: in definition of macro ‘ecs_query’ 9700 | ecs_query_init(world, &(ecs_query_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:43183:51: error: invalid conversion from ‘void*’ to ‘EcsAlertsActive*’ [-fpermissive] 43183 | EcsAlertsActive *alerts = ecs_table_get_id( | ~~~~~~~~~~~~~~~~^ | | | void* 43184 | world, it.table, ecs_id(EcsAlertsActive), it.offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_json_serialize_iter_result(const ecs_world_t*, const ecs_iter_t*, ecs_strbuf_t*, const ecs_iter_to_json_desc_t*, ecs_json_ser_ctx_t*)’: ../src/flecs/distr/flecs.c:43388:51: error: invalid conversion from ‘void*’ to ‘const EcsIdentifier*’ [-fpermissive] 43388 | this_data.names = ecs_table_get_id(it->world, it->table, | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* 43389 | ecs_pair_t(EcsIdentifier, EcsName), it->offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:43395:51: error: invalid conversion from ‘void*’ to ‘const EcsDocDescription*’ [-fpermissive] 43395 | this_data.label = ecs_table_get_id(it->world, it->table, | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* 43396 | ecs_pair_t(EcsDocDescription, EcsName), it->offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:43397:51: error: invalid conversion from ‘void*’ to ‘const EcsDocDescription*’ [-fpermissive] 43397 | this_data.brief = ecs_table_get_id(it->world, it->table, | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* 43398 | ecs_pair_t(EcsDocDescription, EcsDocBrief), it->offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:43399:52: error: invalid conversion from ‘void*’ to ‘const EcsDocDescription*’ [-fpermissive] 43399 | this_data.detail = ecs_table_get_id(it->world, it->table, | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* 43400 | ecs_pair_t(EcsDocDescription, EcsDocDetail), it->offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:43401:51: error: invalid conversion from ‘void*’ to ‘const EcsDocDescription*’ [-fpermissive] 43401 | this_data.color = ecs_table_get_id(it->world, it->table, | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* 43402 | ecs_pair_t(EcsDocDescription, EcsDocColor), it->offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:43403:50: error: invalid conversion from ‘void*’ to ‘const EcsDocDescription*’ [-fpermissive] 43403 | this_data.link = ecs_table_get_id(it->world, it->table, | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* 43404 | ecs_pair_t(EcsDocDescription, EcsDocLink), it->offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_json_serialize_table_components(const ecs_world_t*, ecs_table_t*, ecs_strbuf_t*, ecs_json_value_ser_ctx_t*, const ecs_iter_to_json_desc_t*, int32_t, int32_t*)’: ../src/flecs/distr/flecs.c:44017:45: error: invalid conversion from ‘void*’ to ‘const ecs_sparse_t*’ [-fpermissive] 44017 | ptr = flecs_sparse_get_any(idr->sparse, 0, e); | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:30638:25: note: initializing argument 1 of ‘void* flecs_sparse_get_any(const ecs_sparse_t*, ecs_size_t, uint64_t)’ 30638 | const ecs_sparse_t *sparse, | ~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_json_ser_enum(const ecs_world_t*, ecs_meta_type_op_t*, const void*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.c:44989:1: error: jump to label ‘error’ 44989 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:44967:5: note: in expansion of macro ‘ecs_check’ 44967 | ecs_check(enum_type != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:44973:26: note: crosses initialization of ‘ecs_enum_constant_t* constant’ 44973 | ecs_enum_constant_t *constant = ecs_map_get_deref(&enum_type->constants, | ^~~~~~~~ ../src/flecs/distr/flecs.c:44969:13: note: crosses initialization of ‘int32_t value’ 44969 | int32_t value = *(const int32_t*)base; | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_json_ser_bitmask(const ecs_world_t*, ecs_meta_type_op_t*, const void*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_bitmask_constant_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:45016:44: note: in expansion of macro ‘ecs_map_ptr’ 45016 | ecs_bitmask_constant_t *constant = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:45037:1: error: jump to label ‘error’ 45037 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:45002:5: note: in expansion of macro ‘ecs_check’ 45002 | ecs_check(bitmask_type != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:45014:20: note: crosses initialization of ‘ecs_map_iter_t it’ 45014 | ecs_map_iter_t it = ecs_map_iter(&bitmask_type->constants); | ^~ ../src/flecs/distr/flecs.c:45004:14: note: crosses initialization of ‘uint32_t value’ 45004 | uint32_t value = *(const uint32_t*)ptr; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘int json_ser_vector(const ecs_world_t*, ecs_meta_type_op_t*, const void*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.c:45117:30: error: invalid conversion from ‘const void*’ to ‘const ecs_vec_t*’ [-fpermissive] 45117 | const ecs_vec_t *value = base; | ^~~~ | | | const void* ../src/flecs/distr/flecs.c: In function ‘int json_ser_custom_value(const ecs_serializer_t*, ecs_entity_t, const void*)’: ../src/flecs/distr/flecs.c:45140:44: error: invalid conversion from ‘void*’ to ‘json_serializer_ctx_t*’ [-fpermissive] 45140 | json_serializer_ctx_t *json_ser = ser->ctx; | ~~~~~^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘int json_ser_custom_member(const ecs_serializer_t*, const char*)’: ../src/flecs/distr/flecs.c:45152:44: error: invalid conversion from ‘void*’ to ‘json_serializer_ctx_t*’ [-fpermissive] 45152 | json_serializer_ctx_t *json_ser = ser->ctx; | ~~~~~^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘int json_ser_custom_type(const ecs_world_t*, ecs_meta_type_op_t*, const void*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.c:45200:5: error: designator order for field ‘json_serializer_ctx_t::is_collection’ does not match declaration order in ‘json_serializer_ctx_t’ 45200 | }; | ^ ../src/flecs/distr/flecs.c:45207:5: error: ‘ecs_serializer_t’ has no non-static data member named ‘value’ 45207 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘int ecs_world_to_json_buf(ecs_world_t*, ecs_strbuf_t*, const ecs_world_to_json_desc_t*)’: ../src/flecs/distr/flecs.c:45576:5: error: designator order for field ‘ecs_iter_to_json_desc_t::serialize_full_paths’ does not match declaration order in ‘ecs_iter_to_json_desc_t’ 45576 | }; | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_expr_ser_primitive(const ecs_world_t*, ecs_primitive_kind_t, const void*, ecs_strbuf_t*, bool)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const void*’ to type ‘const char**’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:45714:30: note: in expansion of macro ‘ECS_CONST_CAST’ 45714 | const char *value = *ECS_CONST_CAST(const char**, base); | ^~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:45725:33: note: in expansion of macro ‘ecs_os_malloc’ 45725 | char *out = ecs_os_malloc(length + 3); | ^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_primitive_init(ecs_world_t*, const ecs_primitive_desc_t*)’: ../src/flecs/distr/flecs.c:45777:37: error: taking address of rvalue [-fpermissive] 45777 | ecs_set(world, t, EcsPrimitive, { desc->kind }); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_enum_init(ecs_world_t*, const ecs_enum_desc_t*)’: ../src/flecs/distr/flecs.c:45806:44: error: taking address of rvalue [-fpermissive] 45806 | ecs_entity_t c = ecs_entity(world, { | ^ 45807 | .name = m_desc->name | ~~~~~~~~~~~~~~~~~~~~ 45808 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:45814:17: error: taking address of rvalue [-fpermissive] 45814 | {m_desc->value}); | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9798:34: note: in definition of macro ‘ecs_set_pair_second’ 9798 | sizeof(Second), &(Second)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_bitmask_init(ecs_world_t*, const ecs_bitmask_desc_t*)’: ../src/flecs/distr/flecs.c:45853:44: error: taking address of rvalue [-fpermissive] 45853 | ecs_entity_t c = ecs_entity(world, { | ^ 45854 | .name = m_desc->name | ~~~~~~~~~~~~~~~~~~~~ 45855 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:45861:17: error: taking address of rvalue [-fpermissive] 45861 | {m_desc->value}); | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9798:34: note: in definition of macro ‘ecs_set_pair_second’ 9798 | sizeof(Second), &(Second)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_array_init(ecs_world_t*, const ecs_array_desc_t*)’: ../src/flecs/distr/flecs.c:45889:33: error: taking address of rvalue [-fpermissive] 45889 | ecs_set(world, t, EcsArray, { | ^ 45890 | .type = desc->type, | ~~~~~~~~~~~~~~~~~~~ 45891 | .count = desc->count | ~~~~~~~~~~~~~~~~~~~~ 45892 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_vector_init(ecs_world_t*, const ecs_vector_desc_t*)’: ../src/flecs/distr/flecs.c:45911:34: error: taking address of rvalue [-fpermissive] 45911 | ecs_set(world, t, EcsVector, { | ^ 45912 | .type = desc->type | ~~~~~~~~~~~~~~~~~~ 45913 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_struct_init(ecs_world_t*, const ecs_struct_desc_t*)’: ../src/flecs/distr/flecs.c:45969:44: error: taking address of rvalue [-fpermissive] 45969 | ecs_entity_t m = ecs_entity(world, { | ^ 45970 | .name = m_desc->name | ~~~~~~~~~~~~~~~~~~~~ 45971 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:45979:9: error: designator order for field ‘EcsMember::unit’ does not match declaration order in ‘EcsMember’ 45979 | }); | ^ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:45973:38: error: taking address of rvalue [-fpermissive] 45973 | ecs_set(world, m, EcsMember, { | ^ 45974 | .type = m_desc->type, | ~~~~~~~~~~~~~~~~~~~~~ 45975 | .count = m_desc->count, | ~~~~~~~~~~~~~~~~~~~~~~~ 45976 | .offset = m_desc->offset, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 45977 | .unit = m_desc->unit, | ~~~~~~~~~~~~~~~~~~~~~ 45978 | .use_offset = m_desc->use_offset | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 45979 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_unit_init(ecs_world_t*, const ecs_unit_desc_t*)’: ../src/flecs/distr/flecs.c:46145:1: error: jump to label ‘error’ 46145 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46122:18: note: from here 46122 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46130:14: note: crosses initialization of ‘EcsUnit* value’ 46130 | EcsUnit *value = ecs_ensure(world, t, EcsUnit); | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_unit_prefix_init(ecs_world_t*, const ecs_unit_prefix_desc_t*)’: ../src/flecs/distr/flecs.c:46165:38: error: taking address of rvalue [-fpermissive] 46165 | ecs_set(world, t, EcsUnitPrefix, { | ^ 46166 | .symbol = ECS_CONST_CAST(char*, desc->symbol), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46167 | .translation = desc->translation | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46168 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* meta_parse_member(const char*, meta_member_t*, meta_parse_ctx_t*)’: ../src/flecs/distr/flecs.c:46570:1: error: jump to label ‘error’ 46570 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46513:14: note: from here 46513 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46530:11: note: crosses initialization of ‘char* array_start’ 46530 | char *array_start = strchr(token->name, '['); | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t meta_lookup_array(ecs_world_t*, ecs_entity_t, const char*, meta_parse_ctx_t*)’: ../src/flecs/distr/flecs.c:46682:33: error: taking address of rvalue [-fpermissive] 46682 | ecs_set(world, e, EcsArray, { element_type, (int32_t)params.count }); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:46685:1: error: jump to label ‘error’ 46685 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46666:14: note: from here 46666 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46669:18: note: crosses initialization of ‘ecs_entity_t element_type’ 46669 | ecs_entity_t element_type = ecs_lookup_symbol( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46685:1: error: jump to label ‘error’ 46685 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46661:14: note: from here 46661 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46669:18: note: crosses initialization of ‘ecs_entity_t element_type’ 46669 | ecs_entity_t element_type = ecs_lookup_symbol( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46685:1: error: jump to label ‘error’ 46685 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46657:14: note: from here 46657 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46669:18: note: crosses initialization of ‘ecs_entity_t element_type’ 46669 | ecs_entity_t element_type = ecs_lookup_symbol( | ^~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t meta_lookup_vector(ecs_world_t*, ecs_entity_t, const char*, meta_parse_ctx_t*)’: ../src/flecs/distr/flecs.c:46719:34: error: taking address of rvalue [-fpermissive] 46719 | ecs_set(world, e, EcsVector, { element_type }); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:46722:1: error: jump to label ‘error’ 46722 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46709:14: note: from here 46709 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46712:18: note: crosses initialization of ‘ecs_entity_t element_type’ 46712 | ecs_entity_t element_type = meta_lookup( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46722:1: error: jump to label ‘error’ 46722 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46703:14: note: from here 46703 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46712:18: note: crosses initialization of ‘ecs_entity_t element_type’ 46712 | ecs_entity_t element_type = meta_lookup( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t meta_lookup_bitmask(ecs_world_t*, ecs_entity_t, const char*, meta_parse_ctx_t*)’: ../src/flecs/distr/flecs.c:46769:1: error: jump to label ‘error’ 46769 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46759:5: note: in expansion of macro ‘ecs_check’ 46759 | ecs_check(bitmask_type != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:46763:20: note: crosses initialization of ‘const EcsType* type_ptr’ 46763 | const EcsType *type_ptr = ecs_get(world, bitmask_type, EcsType); | ^~~~~~~~ ../src/flecs/distr/flecs.c:46769:1: error: jump to label ‘error’ 46769 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46754:14: note: from here 46754 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46763:20: note: crosses initialization of ‘const EcsType* type_ptr’ 46763 | const EcsType *type_ptr = ecs_get(world, bitmask_type, EcsType); | ^~~~~~~~ ../src/flecs/distr/flecs.c:46757:18: note: crosses initialization of ‘ecs_entity_t bitmask_type’ 46757 | ecs_entity_t bitmask_type = meta_lookup( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46769:1: error: jump to label ‘error’ 46769 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46748:14: note: from here 46748 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46763:20: note: crosses initialization of ‘const EcsType* type_ptr’ 46763 | const EcsType *type_ptr = ecs_get(world, bitmask_type, EcsType); | ^~~~~~~~ ../src/flecs/distr/flecs.c:46757:18: note: crosses initialization of ‘ecs_entity_t bitmask_type’ 46757 | ecs_entity_t bitmask_type = meta_lookup( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46769:1: error: jump to label ‘error’ 46769 | error: | ^~~~~ ../src/flecs/distr/flecs.c:46742:14: note: from here 46742 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:46763:20: note: crosses initialization of ‘const EcsType* type_ptr’ 46763 | const EcsType *type_ptr = ecs_get(world, bitmask_type, EcsType); | ^~~~~~~~ ../src/flecs/distr/flecs.c:46757:18: note: crosses initialization of ‘ecs_entity_t bitmask_type’ 46757 | ecs_entity_t bitmask_type = meta_lookup( | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t meta_lookup(ecs_world_t*, meta_type_t*, const char*, int64_t, meta_parse_ctx_t*)’: ../src/flecs/distr/flecs.c:46786:17: error: expected unqualified-id before ‘typename’ 46786 | const char *typename = token->type; | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46791:14: note: in expansion of macro ‘ecs_os_strcmp’ 46791 | if (!ecs_os_strcmp(typename, "ecs_array")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46791:14: note: in expansion of macro ‘ecs_os_strcmp’ 46791 | if (!ecs_os_strcmp(typename, "ecs_array")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46794:21: note: in expansion of macro ‘ecs_os_strcmp’ 46794 | } else if (!ecs_os_strcmp(typename, "ecs_vector") || | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46794:21: note: in expansion of macro ‘ecs_os_strcmp’ 46794 | } else if (!ecs_os_strcmp(typename, "ecs_vector") || | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46795:18: note: in expansion of macro ‘ecs_os_strcmp’ 46795 | !ecs_os_strcmp(typename, "flecs::vector")) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46795:18: note: in expansion of macro ‘ecs_os_strcmp’ 46795 | !ecs_os_strcmp(typename, "flecs::vector")) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46799:21: note: in expansion of macro ‘ecs_os_strcmp’ 46799 | } else if (!ecs_os_strcmp(typename, "flecs::bitmask")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46799:21: note: in expansion of macro ‘ecs_os_strcmp’ 46799 | } else if (!ecs_os_strcmp(typename, "flecs::bitmask")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46802:21: note: in expansion of macro ‘ecs_os_strcmp’ 46802 | } else if (!ecs_os_strcmp(typename, "flecs::byte")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46802:21: note: in expansion of macro ‘ecs_os_strcmp’ 46802 | } else if (!ecs_os_strcmp(typename, "flecs::byte")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46805:21: note: in expansion of macro ‘ecs_os_strcmp’ 46805 | } else if (!ecs_os_strcmp(typename, "char")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46805:21: note: in expansion of macro ‘ecs_os_strcmp’ 46805 | } else if (!ecs_os_strcmp(typename, "char")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46808:21: note: in expansion of macro ‘ecs_os_strcmp’ 46808 | } else if (!ecs_os_strcmp(typename, "bool") || | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46808:21: note: in expansion of macro ‘ecs_os_strcmp’ 46808 | } else if (!ecs_os_strcmp(typename, "bool") || | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46809:18: note: in expansion of macro ‘ecs_os_strcmp’ 46809 | !ecs_os_strcmp(typename, "_Bool")) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46809:18: note: in expansion of macro ‘ecs_os_strcmp’ 46809 | !ecs_os_strcmp(typename, "_Bool")) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46813:21: note: in expansion of macro ‘ecs_os_strcmp’ 46813 | } else if (!ecs_os_strcmp(typename, "int8_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46813:21: note: in expansion of macro ‘ecs_os_strcmp’ 46813 | } else if (!ecs_os_strcmp(typename, "int8_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46815:21: note: in expansion of macro ‘ecs_os_strcmp’ 46815 | } else if (!ecs_os_strcmp(typename, "int16_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46815:21: note: in expansion of macro ‘ecs_os_strcmp’ 46815 | } else if (!ecs_os_strcmp(typename, "int16_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46817:21: note: in expansion of macro ‘ecs_os_strcmp’ 46817 | } else if (!ecs_os_strcmp(typename, "int32_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46817:21: note: in expansion of macro ‘ecs_os_strcmp’ 46817 | } else if (!ecs_os_strcmp(typename, "int32_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46819:21: note: in expansion of macro ‘ecs_os_strcmp’ 46819 | } else if (!ecs_os_strcmp(typename, "int64_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46819:21: note: in expansion of macro ‘ecs_os_strcmp’ 46819 | } else if (!ecs_os_strcmp(typename, "int64_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46822:21: note: in expansion of macro ‘ecs_os_strcmp’ 46822 | } else if (!ecs_os_strcmp(typename, "uint8_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46822:21: note: in expansion of macro ‘ecs_os_strcmp’ 46822 | } else if (!ecs_os_strcmp(typename, "uint8_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46824:21: note: in expansion of macro ‘ecs_os_strcmp’ 46824 | } else if (!ecs_os_strcmp(typename, "uint16_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46824:21: note: in expansion of macro ‘ecs_os_strcmp’ 46824 | } else if (!ecs_os_strcmp(typename, "uint16_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46826:21: note: in expansion of macro ‘ecs_os_strcmp’ 46826 | } else if (!ecs_os_strcmp(typename, "uint32_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46826:21: note: in expansion of macro ‘ecs_os_strcmp’ 46826 | } else if (!ecs_os_strcmp(typename, "uint32_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46828:21: note: in expansion of macro ‘ecs_os_strcmp’ 46828 | } else if (!ecs_os_strcmp(typename, "uint64_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46828:21: note: in expansion of macro ‘ecs_os_strcmp’ 46828 | } else if (!ecs_os_strcmp(typename, "uint64_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46831:21: note: in expansion of macro ‘ecs_os_strcmp’ 46831 | } else if (!ecs_os_strcmp(typename, "float")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46831:21: note: in expansion of macro ‘ecs_os_strcmp’ 46831 | } else if (!ecs_os_strcmp(typename, "float")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46833:21: note: in expansion of macro ‘ecs_os_strcmp’ 46833 | } else if (!ecs_os_strcmp(typename, "double")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46833:21: note: in expansion of macro ‘ecs_os_strcmp’ 46833 | } else if (!ecs_os_strcmp(typename, "double")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46836:21: note: in expansion of macro ‘ecs_os_strcmp’ 46836 | } else if (!ecs_os_strcmp(typename, "ecs_entity_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46836:21: note: in expansion of macro ‘ecs_os_strcmp’ 46836 | } else if (!ecs_os_strcmp(typename, "ecs_entity_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46839:21: note: in expansion of macro ‘ecs_os_strcmp’ 46839 | } else if (!ecs_os_strcmp(typename, "ecs_id_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46839:21: note: in expansion of macro ‘ecs_os_strcmp’ 46839 | } else if (!ecs_os_strcmp(typename, "ecs_id_t")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46842:21: note: in expansion of macro ‘ecs_os_strcmp’ 46842 | } else if (!ecs_os_strcmp(typename, "char*")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46842:21: note: in expansion of macro ‘ecs_os_strcmp’ 46842 | } else if (!ecs_os_strcmp(typename, "char*")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46845:53: error: expected nested-name-specifier before ‘,’ token 46845 | type = ecs_lookup_symbol(world, typename, true, true); | ^ ../src/flecs/distr/flecs.c:46845:53: error: expected ‘(’ before ‘,’ token 46845 | type = ecs_lookup_symbol(world, typename, true, true); | ^ | ( In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46848:14: note: in expansion of macro ‘ecs_os_strcmp’ 46848 | if (!ecs_os_strcmp(typename, "char")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46848:14: note: in expansion of macro ‘ecs_os_strcmp’ 46848 | if (!ecs_os_strcmp(typename, "char")) { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46849:22: error: expected nested-name-specifier before ‘=’ token 46849 | typename = "flecs.meta.string"; | ^ ../src/flecs/distr/flecs.c:46849:22: error: expected ‘(’ before ‘=’ token 46849 | typename = "flecs.meta.string"; | ^ | ( ../src/flecs/distr/flecs.c:46852:22: error: expected nested-name-specifier before ‘=’ token 46852 | typename = "flecs.meta.uptr"; | ^ ../src/flecs/distr/flecs.c:46852:22: error: expected ‘(’ before ‘=’ token 46852 | typename = "flecs.meta.uptr"; | ^ | ( In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46854:14: note: in expansion of macro ‘ecs_os_strcmp’ 46854 | if (!ecs_os_strcmp(typename, "char*") || | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46854:14: note: in expansion of macro ‘ecs_os_strcmp’ 46854 | if (!ecs_os_strcmp(typename, "char*") || | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected nested-name-specifier before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46855:14: note: in expansion of macro ‘ecs_os_strcmp’ 46855 | !ecs_os_strcmp(typename, "flecs::string")) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2663:46: error: expected ‘(’ before ‘,’ token 2663 | #define ecs_os_strcmp(str1, str2) strcmp(str1, str2) | ^ ../src/flecs/distr/flecs.c:46855:14: note: in expansion of macro ‘ecs_os_strcmp’ 46855 | !ecs_os_strcmp(typename, "flecs::string")) | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46857:22: error: expected nested-name-specifier before ‘=’ token 46857 | typename = "flecs.meta.string"; | ^ ../src/flecs/distr/flecs.c:46857:22: error: expected ‘(’ before ‘=’ token 46857 | typename = "flecs.meta.string"; | ^ | ( ../src/flecs/distr/flecs.c:46860:49: error: expected nested-name-specifier before ‘,’ token 46860 | type = ecs_lookup_symbol(world, typename, true, true); | ^ ../src/flecs/distr/flecs.c:46860:49: error: expected ‘(’ before ‘,’ token 46860 | type = ecs_lookup_symbol(world, typename, true, true); | ^ | ( In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:46866:54: error: taking address of rvalue [-fpermissive] 46866 | type = ecs_insert(world, ecs_value(EcsArray, {type, (int32_t)count})); | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:9780:32: note: in expansion of macro ‘ecs_values’ 9780 | ecs_entity(world, { .set = ecs_values(__VA_ARGS__)}) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:46866:16: note: in expansion of macro ‘ecs_insert’ 46866 | type = ecs_insert(world, ecs_value(EcsArray, {type, (int32_t)count})); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:46866:34: note: in expansion of macro ‘ecs_value’ 46866 | type = ecs_insert(world, ecs_value(EcsArray, {type, (int32_t)count})); | ^~~~~~~~~ ../src/flecs/distr/flecs.h:10144:40: error: taking address of temporary array 10144 | #define ecs_values(...) (ecs_value_t[]){ __VA_ARGS__, {0, 0}} | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:9780:32: note: in expansion of macro ‘ecs_values’ 9780 | ecs_entity(world, { .set = ecs_values(__VA_ARGS__)}) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:46866:16: note: in expansion of macro ‘ecs_insert’ 46866 | type = ecs_insert(world, ecs_value(EcsArray, {type, (int32_t)count})); | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:10880:54: error: expected nested-name-specifier before ‘)’ token 10880 | ecs_parser_error_(name, expr, column, __VA_ARGS__) | ^ ../src/flecs/distr/flecs.c:46209:5: note: in expansion of macro ‘ecs_parser_error’ 46209 | ecs_parser_error((ctx)->name, (ctx)->desc, ptr - (ctx)->desc, __VA_ARGS__); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46870:9: note: in expansion of macro ‘ecs_meta_error’ 46870 | ecs_meta_error(ctx, ptr, "unknown type '%s'", typename); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:10880:54: error: expected ‘(’ before ‘)’ token 10880 | ecs_parser_error_(name, expr, column, __VA_ARGS__) | ^ ../src/flecs/distr/flecs.c:46209:5: note: in expansion of macro ‘ecs_parser_error’ 46209 | ecs_parser_error((ctx)->name, (ctx)->desc, ptr - (ctx)->desc, __VA_ARGS__); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:46870:9: note: in expansion of macro ‘ecs_meta_error’ 46870 | ecs_meta_error(ctx, ptr, "unknown type '%s'", typename); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int meta_parse_struct(ecs_world_t*, ecs_entity_t, const char*)’: ../src/flecs/distr/flecs.c:46897:44: error: taking address of rvalue [-fpermissive] 46897 | ecs_entity_t m = ecs_entity(world, { | ^ 46898 | .name = token.name | ~~~~~~~~~~~~~~~~~~ 46899 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:46907:38: error: taking address of rvalue [-fpermissive] 46907 | ecs_set(world, m, EcsMember, { | ^ 46908 | .type = type, | ~~~~~~~~~~~~~ 46909 | .count = (ecs_size_t)token.count | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46910 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int meta_parse_constants(ecs_world_t*, ecs_entity_t, const char*, bool)’: ../src/flecs/distr/flecs.c:46969:44: error: taking address of rvalue [-fpermissive] 46969 | ecs_entity_t c = ecs_entity(world, { | ^ 46970 | .name = token.name | ~~~~~~~~~~~~~~~~~~ 46971 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:46975:17: error: taking address of rvalue [-fpermissive] 46975 | {(ecs_i32_t)last_value}); | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9798:34: note: in definition of macro ‘ecs_set_pair_second’ 9798 | sizeof(Second), &(Second)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:46978:17: error: taking address of rvalue [-fpermissive] 46978 | {(ecs_u32_t)last_value}); | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9798:34: note: in definition of macro ‘ecs_set_pair_second’ 9798 | sizeof(Second), &(Second)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_meta_type_op_t* flecs_meta_cursor_get_ptr(const ecs_world_t*, ecs_meta_scope_t*)’: ../src/flecs/distr/flecs.c:47199:20: error: invalid conversion from ‘void*’ to ‘ecs_meta_type_op_t*’ [-fpermissive] 47199 | return opaque_ptr; | ^~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:47208:41: error: invalid conversion from ‘void*’ to ‘ecs_meta_type_op_t*’ [-fpermissive] 47208 | return opaque->ensure_member(scope->ptr, op->name); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_meta_type_op_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:47215:12: note: in expansion of macro ‘ECS_OFFSET’ 47215 | return ECS_OFFSET(scope->ptr, size * scope->elem_cur + op->offset); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_meta_cursor_t ecs_meta_cursor(const ecs_world_t*, ecs_entity_t, void*)’: ../src/flecs/distr/flecs.c:47262:1: error: jump to label ‘error’ 47262 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:47250:5: note: in expansion of macro ‘ecs_check’ 47250 | ecs_check(type != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:47252:23: note: crosses initialization of ‘ecs_meta_cursor_t result’ 47252 | ecs_meta_cursor_t result = { | ^~~~~~ ../src/flecs/distr/flecs.c:47262:1: error: jump to label ‘error’ 47262 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:47249:5: note: in expansion of macro ‘ecs_check’ 47249 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:47252:23: note: crosses initialization of ‘ecs_meta_cursor_t result’ 47252 | ecs_meta_cursor_t result = { | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘int ecs_meta_push(ecs_meta_cursor_t*)’: ../src/flecs/distr/flecs.c:47465:9: error: designator order for field ‘ecs_meta_scope_t::type’ does not match declaration order in ‘ecs_meta_scope_t’ 47465 | }; | ^ ../src/flecs/distr/flecs.c:47504:9: error: designator order for field ‘ecs_meta_scope_t::type’ does not match declaration order in ‘ecs_meta_scope_t’ 47504 | }; | ^ ../src/flecs/distr/flecs.c:47524:30: error: invalid conversion from ‘void*’ to ‘ecs_vec_t*’ [-fpermissive] 47524 | next_scope->vector = ptr; | ^~~ | | | void* ../src/flecs/distr/flecs.c:47654:1: error: jump to label ‘error’ 47654 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:47447:5: note: in expansion of macro ‘ecs_check’ 47447 | ecs_check(cursor->depth < ECS_META_MAX_SCOPE_DEPTH, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:47450:23: note: crosses initialization of ‘ecs_meta_scope_t* next_scope’ 47450 | ecs_meta_scope_t *next_scope = flecs_meta_cursor_get_scope(cursor); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported 47811 | }; | ^ ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47811:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported 47833 | }; | ^ ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47833:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported 47858 | }; | ^ ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported ../src/flecs/distr/flecs.c:47858:1: sorry, unimplemented: non-trivial designated initializers not supported In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int ecs_meta_set_float(ecs_meta_cursor_t*, double)’: ../src/flecs/distr/flecs.h:885:43: error: taking address of rvalue [-fpermissive] 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:885:23: note: in expansion of macro ‘ECS_EQ’ 885 | #define ECS_EQZERO(a) ECS_EQ(a, (uint64_t){0}) | ^~~~~~ ../src/flecs/distr/flecs.c:48134:13: note: in expansion of macro ‘ECS_EQZERO’ 48134 | if (ECS_EQZERO(value)) { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int ecs_meta_set_value(ecs_meta_cursor_t*, const ecs_value_t*)’: ../src/flecs/distr/flecs.c:48241:1: error: jump to label ‘error’ 48241 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:48191:5: note: in expansion of macro ‘ecs_check’ 48191 | ecs_check(type != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:48192:20: note: crosses initialization of ‘const EcsType* mt’ 48192 | const EcsType *mt = ecs_get(cursor->world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:48241:1: error: jump to label ‘error’ 48241 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:48189:5: note: in expansion of macro ‘ecs_check’ 48189 | ecs_check(value != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:48192:20: note: crosses initialization of ‘const EcsType* mt’ 48192 | const EcsType *mt = ecs_get(cursor->world, type, EcsType); | ^~ ../src/flecs/distr/flecs.c:48190:18: note: crosses initialization of ‘ecs_entity_t type’ 48190 | ecs_entity_t type = value->type; | ^~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int ecs_meta_set_string_literal(ecs_meta_cursor_t*, const char*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:48575:24: note: in expansion of macro ‘ecs_os_malloc’ 48575 | char *result = ecs_os_malloc(len + 1); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:48586:5: error: jump to case label 48586 | default: | ^~~~~~~ ../src/flecs/distr/flecs.c:48575:15: note: crosses initialization of ‘char* result’ 48575 | char *result = ecs_os_malloc(len + 1); | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘bool ecs_meta_get_bool(const ecs_meta_cursor_t*)’: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:48790:28: note: in expansion of macro ‘ECS_NEQZERO’ 48790 | case EcsOpF32: return ECS_NEQZERO(*(ecs_f32_t*)ptr); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:48791:28: note: in expansion of macro ‘ECS_NEQZERO’ 48791 | case EcsOpF64: return ECS_NEQZERO(*(ecs_f64_t*)ptr); | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘double flecs_meta_to_float(ecs_meta_type_op_kind_t, const void*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const void*’ to type ‘const char**’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:48973:36: note: in expansion of macro ‘ECS_CONST_CAST’ 48973 | case EcsOpString: return atof(*ECS_CONST_CAST(const char**, ptr)); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int ecs_meta_get_string_value_from_opaque(const ecs_serializer_t*, ecs_entity_t, const void*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const void*’ to type ‘char**’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49019:12: note: in expansion of macro ‘ECS_CONST_CAST’ 49019 | *ctx = ECS_CONST_CAST(char**, value); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* ecs_meta_get_string(const ecs_meta_cursor_t*)’: ../src/flecs/distr/flecs.c:49052:13: error: ‘ecs_serializer_t’ has no non-static data member named ‘value’ 49052 | }; | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_addon_vec_serialize(const ecs_serializer_t*, const void*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const void*’ to type ‘char***’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49198:20: note: in expansion of macro ‘ECS_CONST_CAST’ 49198 | char ***data = ECS_CONST_CAST(char***, ptr); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49201:19: error: no matching function for call to ‘ecs_serializer_t::value(const ecs_serializer_t*&, const ecs_entity_t&, char**&) const’ 49201 | ser->value(ser, ecs_id(ecs_string_t), addons); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:15304:9: note: candidate: ‘template int ecs_serializer_t::value(const T&) const’ 15304 | int value(const T& value) const; | ^~~~~ ../src/flecs/distr/flecs.h:15304:9: note: template argument deduction/substitution failed: ../src/flecs/distr/flecs.c:49201:19: note: candidate expects 1 argument, 3 provided 49201 | ser->value(ser, ecs_id(ecs_string_t), addons); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31799:12: note: candidate: ‘int ecs_serializer_t::value(ecs_entity_t, const void*) const’ 31799 | inline int ecs_serializer_t::value(ecs_entity_t type, const void *v) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31799:12: note: candidate expects 2 arguments, 3 provided In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘size_t flecs_addon_vec_count(const void*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const void*’ to type ‘char***’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49209:20: note: in expansion of macro ‘ECS_CONST_CAST’ 49209 | char ***data = ECS_CONST_CAST(char***, ptr); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_const_str_serialize(const ecs_serializer_t*, const void*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const void*’ to type ‘char**’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49219:19: note: in expansion of macro ‘ECS_CONST_CAST’ 49219 | char **data = ECS_CONST_CAST(char**, ptr); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49220:15: error: no matching function for call to ‘ecs_serializer_t::value(const ecs_serializer_t*&, const ecs_entity_t&, char**&) const’ 49220 | ser->value(ser, ecs_id(ecs_string_t), data); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:15304:9: note: candidate: ‘template int ecs_serializer_t::value(const T&) const’ 15304 | int value(const T& value) const; | ^~~~~ ../src/flecs/distr/flecs.h:15304:9: note: template argument deduction/substitution failed: ../src/flecs/distr/flecs.c:49220:15: note: candidate expects 1 argument, 3 provided 49220 | ser->value(ser, ecs_id(ecs_string_t), data); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31799:12: note: candidate: ‘int ecs_serializer_t::value(ecs_entity_t, const void*) const’ 31799 | inline int ecs_serializer_t::value(ecs_entity_t type, const void *v) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31799:12: note: candidate expects 2 arguments, 3 provided In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_meta_import_core_definitions(ecs_world_t*)’: ../src/flecs/distr/flecs.c:49229:23: error: taking address of rvalue [-fpermissive] 49229 | ecs_struct(world, { | ^ 49230 | .entity = ecs_id(EcsComponent), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49231 | .members = { | ~~~~~~~~~~~~ 49232 | { .name = "size", .type = ecs_id(ecs_i32_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49233 | { .name = "alignment", .type = ecs_id(ecs_i32_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49234 | } | ~ 49235 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49237:23: error: taking address of rvalue [-fpermissive] 49237 | ecs_struct(world, { | ^ 49238 | .entity = ecs_id(EcsDefaultChildComponent), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49239 | .members = { | ~~~~~~~~~~~~ 49240 | { .name = "component", .type = ecs_id(ecs_entity_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49241 | } | ~ 49242 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49252:43: error: taking address of rvalue [-fpermissive] 49252 | .entity = ecs_entity(world, { | ^ 49253 | .name = "flecs.core.const_string_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49254 | .root_sep = "" | ~~~~~~~~~~~~~~ 49255 | }), | ~ ../src/flecs/distr/flecs.h:16127:49: note: in definition of macro ‘ecs_opaque’ 16127 | ecs_opaque_init(world, &(ecs_opaque_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49251:19: note: in expansion of macro ‘ecs_component’ 49251 | .entity = ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49252:25: note: in expansion of macro ‘ecs_entity’ 49252 | .entity = ecs_entity(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:49251:40: error: taking address of rvalue [-fpermissive] 49251 | .entity = ecs_component(world, { | ^ 49252 | .entity = ecs_entity(world, { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49253 | .name = "flecs.core.const_string_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49254 | .root_sep = "" | ~~~~~~~~~~~~~~ 49255 | }), | ~~~ 49256 | .type = { | ~~~~~~~~~ 49257 | .size = ECS_SIZEOF(const char*), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49258 | .alignment = ECS_ALIGNOF(const char*) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49259 | } | ~ 49260 | }), | ~ ../src/flecs/distr/flecs.h:16127:49: note: in definition of macro ‘ecs_opaque’ 16127 | ecs_opaque_init(world, &(ecs_opaque_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49251:19: note: in expansion of macro ‘ecs_component’ 49251 | .entity = ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49250:51: error: taking address of rvalue [-fpermissive] 49250 | ecs_entity_t const_string = ecs_opaque(world, { | ^ 49251 | .entity = ecs_component(world, { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49252 | .entity = ecs_entity(world, { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49253 | .name = "flecs.core.const_string_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49254 | .root_sep = "" | ~~~~~~~~~~~~~~ 49255 | }), | ~~~ 49256 | .type = { | ~~~~~~~~~ 49257 | .size = ECS_SIZEOF(const char*), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49258 | .alignment = ECS_ALIGNOF(const char*) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49259 | } | ~ 49260 | }), | ~~~ 49261 | .type = { | ~~~~~~~~~ 49262 | .as_type = ecs_id(ecs_string_t), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49263 | .serialize = flecs_const_str_serialize, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49264 | } | ~ 49265 | }); | ~ ../src/flecs/distr/flecs.h:16127:49: note: in definition of macro ‘ecs_opaque’ 16127 | ecs_opaque_init(world, &(ecs_opaque_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49268:37: error: taking address of rvalue [-fpermissive] 49268 | .entity = ecs_entity(world, { | ^ 49269 | .name = "flecs.core.string_vec_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49270 | .root_sep = "" | ~~~~~~~~~~~~~~ 49271 | }), | ~ ../src/flecs/distr/flecs.h:16123:49: note: in definition of macro ‘ecs_vector’ 16123 | ecs_vector_init(world, &(ecs_vector_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49268:19: note: in expansion of macro ‘ecs_entity’ 49268 | .entity = ecs_entity(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:49267:49: error: taking address of rvalue [-fpermissive] 49267 | ecs_entity_t string_vec = ecs_vector(world, { | ^ 49268 | .entity = ecs_entity(world, { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49269 | .name = "flecs.core.string_vec_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49270 | .root_sep = "" | ~~~~~~~~~~~~~~ 49271 | }), | ~~~ 49272 | .type = ecs_id(ecs_string_t) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49273 | }); | ~ ../src/flecs/distr/flecs.h:16123:49: note: in definition of macro ‘ecs_vector’ 16123 | ecs_vector_init(world, &(ecs_vector_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49277:41: error: taking address of rvalue [-fpermissive] 49277 | .entity = ecs_entity(world, { | ^ 49278 | .name = "flecs.core.addon_vec_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49279 | .root_sep = "" | ~~~~~~~~~~~~~~ 49280 | }), | ~ ../src/flecs/distr/flecs.h:16127:49: note: in definition of macro ‘ecs_opaque’ 16127 | ecs_opaque_init(world, &(ecs_opaque_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49276:19: note: in expansion of macro ‘ecs_component’ 49276 | .entity = ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49277:23: note: in expansion of macro ‘ecs_entity’ 49277 | .entity = ecs_entity(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:49276:40: error: taking address of rvalue [-fpermissive] 49276 | .entity = ecs_component(world, { | ^ 49277 | .entity = ecs_entity(world, { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49278 | .name = "flecs.core.addon_vec_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49279 | .root_sep = "" | ~~~~~~~~~~~~~~ 49280 | }), | ~~~ 49281 | .type = { | ~~~~~~~~~ 49282 | .size = ECS_SIZEOF(char**), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49283 | .alignment = ECS_ALIGNOF(char**) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49284 | } | ~ 49285 | }), | ~ ../src/flecs/distr/flecs.h:16127:49: note: in definition of macro ‘ecs_opaque’ 16127 | ecs_opaque_init(world, &(ecs_opaque_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49276:19: note: in expansion of macro ‘ecs_component’ 49276 | .entity = ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49275:48: error: taking address of rvalue [-fpermissive] 49275 | ecs_entity_t addon_vec = ecs_opaque(world, { | ^ 49276 | .entity = ecs_component(world, { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49277 | .entity = ecs_entity(world, { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49278 | .name = "flecs.core.addon_vec_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49279 | .root_sep = "" | ~~~~~~~~~~~~~~ 49280 | }), | ~~~ 49281 | .type = { | ~~~~~~~~~ 49282 | .size = ECS_SIZEOF(char**), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49283 | .alignment = ECS_ALIGNOF(char**) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49284 | } | ~ 49285 | }), | ~~~ 49286 | .type = { | ~~~~~~~~~ 49287 | .as_type = string_vec, | ~~~~~~~~~~~~~~~~~~~~~~ 49288 | .serialize = flecs_addon_vec_serialize, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49289 | .count = flecs_addon_vec_count, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49290 | } | ~ 49291 | }); | ~ ../src/flecs/distr/flecs.h:16127:49: note: in definition of macro ‘ecs_opaque’ 16127 | ecs_opaque_init(world, &(ecs_opaque_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49294:37: error: taking address of rvalue [-fpermissive] 49294 | .entity = ecs_entity(world, { | ^ 49295 | .name = "flecs.core.build_info_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49296 | .root_sep = "" | ~~~~~~~~~~~~~~ 49297 | }), | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49294:19: note: in expansion of macro ‘ecs_entity’ 49294 | .entity = ecs_entity(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:49293:23: error: taking address of rvalue [-fpermissive] 49293 | ecs_struct(world, { | ^ 49294 | .entity = ecs_entity(world, { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49295 | .name = "flecs.core.build_info_t", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49296 | .root_sep = "" | ~~~~~~~~~~~~~~ 49297 | }), | ~~~ 49298 | .members = { | ~~~~~~~~~~~~ 49299 | { .name = "compiler", .type = const_string }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49300 | { .name = "addons", .type = addon_vec }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49301 | { .name = "version", .type = const_string }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49302 | { .name = "version_major", .type = ecs_id(ecs_i16_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49303 | { .name = "version_minor", .type = ecs_id(ecs_i16_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49304 | { .name = "version_patch", .type = ecs_id(ecs_i16_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49305 | { .name = "debug", .type = ecs_id(ecs_bool_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49306 | { .name = "sanitize", .type = ecs_id(ecs_bool_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49307 | { .name = "perf_trace", .type = ecs_id(ecs_bool_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49308 | } | ~ 49309 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_meta_import_doc_definitions(ecs_world_t*)’: ../src/flecs/distr/flecs.c:49319:23: error: taking address of rvalue [-fpermissive] 49319 | ecs_struct(world, { | ^ 49320 | .entity = ecs_id(EcsDocDescription), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49321 | .members = { | ~~~~~~~~~~~~ 49322 | { .name = "value", .type = ecs_id(ecs_string_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49323 | } | ~ 49324 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_meta_import_meta_definitions(ecs_world_t*)’: ../src/flecs/distr/flecs.c:49334:37: error: taking address of rvalue [-fpermissive] 49334 | .entity = ecs_entity(world, { .name = "TypeKind" }), | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49333:69: error: taking address of rvalue [-fpermissive] 49333 | ecs_entity_t type_kind = ecs_enum_init(world, &(ecs_enum_desc_t){ | ^ 49334 | .entity = ecs_entity(world, { .name = "TypeKind" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49335 | .constants = { | ~~~~~~~~~~~~~~ 49336 | { .name = "PrimitiveType" }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49337 | { .name = "BitmaskType" }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 49338 | { .name = "EnumType" }, | ~~~~~~~~~~~~~~~~~~~~~~~ 49339 | { .name = "StructType" }, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 49340 | { .name = "ArrayType" }, | ~~~~~~~~~~~~~~~~~~~~~~~~ 49341 | { .name = "VectorType" }, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 49342 | { .name = "OpaqueType" } | ~~~~~~~~~~~~~~~~~~~~~~~~ 49343 | } | ~ 49344 | }); | ~ ../src/flecs/distr/flecs.c:49346:48: error: taking address of rvalue [-fpermissive] 49346 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49347 | .entity = ecs_id(EcsType), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 49348 | .members = { | ~~~~~~~~~~~~ 49349 | { .name = "kind", .type = type_kind } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49350 | } | ~ 49351 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:49354:37: error: taking address of rvalue [-fpermissive] 49354 | .entity = ecs_entity(world, { .name = "PrimitiveKind" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49353:74: error: taking address of rvalue [-fpermissive] 49353 | ecs_entity_t primitive_kind = ecs_enum_init(world, &(ecs_enum_desc_t){ | ^ 49354 | .entity = ecs_entity(world, { .name = "PrimitiveKind" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49355 | .constants = { | ~~~~~~~~~~~~~~ 49356 | { .name = "Bool", 1 }, | ~~~~~~~~~~~~~~~~~~~~~~ 49357 | { .name = "Char" }, | ~~~~~~~~~~~~~~~~~~~ 49358 | { .name = "Byte" }, | ~~~~~~~~~~~~~~~~~~~ 49359 | { .name = "U8" }, | ~~~~~~~~~~~~~~~~~ 49360 | { .name = "U16" }, | ~~~~~~~~~~~~~~~~~~ 49361 | { .name = "U32" }, | ~~~~~~~~~~~~~~~~~~ 49362 | { .name = "U64 "}, | ~~~~~~~~~~~~~~~~~~ 49363 | { .name = "I8" }, | ~~~~~~~~~~~~~~~~~ 49364 | { .name = "I16" }, | ~~~~~~~~~~~~~~~~~~ 49365 | { .name = "I32" }, | ~~~~~~~~~~~~~~~~~~ 49366 | { .name = "I64" }, | ~~~~~~~~~~~~~~~~~~ 49367 | { .name = "F32" }, | ~~~~~~~~~~~~~~~~~~ 49368 | { .name = "F64" }, | ~~~~~~~~~~~~~~~~~~ 49369 | { .name = "UPtr "}, | ~~~~~~~~~~~~~~~~~~~ 49370 | { .name = "IPtr" }, | ~~~~~~~~~~~~~~~~~~~ 49371 | { .name = "String" }, | ~~~~~~~~~~~~~~~~~~~~~ 49372 | { .name = "Entity" }, | ~~~~~~~~~~~~~~~~~~~~~ 49373 | { .name = "Id" } | ~~~~~~~~~~~~~~~~ 49374 | } | ~ 49375 | }); | ~ ../src/flecs/distr/flecs.c:49377:48: error: taking address of rvalue [-fpermissive] 49377 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49378 | .entity = ecs_id(EcsPrimitive), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49379 | .members = { | ~~~~~~~~~~~~ 49380 | { .name = "kind", .type = primitive_kind } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49381 | } | ~ 49382 | }); | ~ ../src/flecs/distr/flecs.c:49384:48: error: taking address of rvalue [-fpermissive] 49384 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49385 | .entity = ecs_id(EcsMember), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49386 | .members = { | ~~~~~~~~~~~~ 49387 | { .name = "type", .type = ecs_id(ecs_entity_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49388 | { .name = "count", .type = ecs_id(ecs_i32_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49389 | { .name = "unit", .type = ecs_id(ecs_entity_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49390 | { .name = "offset", .type = ecs_id(ecs_i32_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49391 | { .name = "use_offset", .type = ecs_id(ecs_bool_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49392 | } | ~ 49393 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:49396:37: error: taking address of rvalue [-fpermissive] 49396 | .entity = ecs_entity(world, { .name = "value_range" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49395:66: error: taking address of rvalue [-fpermissive] 49395 | ecs_entity_t vr = ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49396 | .entity = ecs_entity(world, { .name = "value_range" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49397 | .members = { | ~~~~~~~~~~~~ 49398 | { .name = "min", .type = ecs_id(ecs_f64_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49399 | { .name = "max", .type = ecs_id(ecs_f64_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49400 | } | ~ 49401 | }); | ~ ../src/flecs/distr/flecs.c:49403:48: error: taking address of rvalue [-fpermissive] 49403 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49404 | .entity = ecs_id(EcsMemberRanges), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49405 | .members = { | ~~~~~~~~~~~~ 49406 | { .name = "value", .type = vr }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49407 | { .name = "warning", .type = vr }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49408 | { .name = "error", .type = vr } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49409 | } | ~ 49410 | }); | ~ ../src/flecs/distr/flecs.c:49412:48: error: taking address of rvalue [-fpermissive] 49412 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49413 | .entity = ecs_id(EcsArray), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49414 | .members = { | ~~~~~~~~~~~~ 49415 | { .name = "type", .type = ecs_id(ecs_entity_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49416 | { .name = "count", .type = ecs_id(ecs_i32_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49417 | } | ~ 49418 | }); | ~ ../src/flecs/distr/flecs.c:49420:48: error: taking address of rvalue [-fpermissive] 49420 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49421 | .entity = ecs_id(EcsVector), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49422 | .members = { | ~~~~~~~~~~~~ 49423 | { .name = "type", .type = ecs_id(ecs_entity_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49424 | } | ~ 49425 | }); | ~ ../src/flecs/distr/flecs.c:49427:48: error: taking address of rvalue [-fpermissive] 49427 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49428 | .entity = ecs_id(EcsOpaque), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49429 | .members = { | ~~~~~~~~~~~~ 49430 | { .name = "as_type", .type = ecs_id(ecs_entity_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49431 | } | ~ 49432 | }); | ~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:49435:37: error: taking address of rvalue [-fpermissive] 49435 | .entity = ecs_entity(world, { .name = "unit_translation" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:49434:66: error: taking address of rvalue [-fpermissive] 49434 | ecs_entity_t ut = ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49435 | .entity = ecs_entity(world, { .name = "unit_translation" }), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49436 | .members = { | ~~~~~~~~~~~~ 49437 | { .name = "factor", .type = ecs_id(ecs_i32_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49438 | { .name = "power", .type = ecs_id(ecs_i32_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49439 | } | ~ 49440 | }); | ~ ../src/flecs/distr/flecs.c:49442:48: error: taking address of rvalue [-fpermissive] 49442 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49443 | .entity = ecs_id(EcsUnit), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 49444 | .members = { | ~~~~~~~~~~~~ 49445 | { .name = "symbol", .type = ecs_id(ecs_string_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49446 | { .name = "prefix", .type = ecs_id(ecs_entity_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49447 | { .name = "base", .type = ecs_id(ecs_entity_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49448 | { .name = "over", .type = ecs_id(ecs_entity_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49449 | { .name = "translation", .type = ut } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49450 | } | ~ 49451 | }); | ~ ../src/flecs/distr/flecs.c:49453:48: error: taking address of rvalue [-fpermissive] 49453 | ecs_struct_init(world, &(ecs_struct_desc_t){ | ^ 49454 | .entity = ecs_id(EcsUnitPrefix), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49455 | .members = { | ~~~~~~~~~~~~ 49456 | { .name = "symbol", .type = ecs_id(ecs_string_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49457 | { .name = "translation", .type = ut } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49458 | } | ~ 49459 | }); | ~ ../src/flecs/distr/flecs.c: In function ‘void ecs_meta_dtor_serialized(EcsTypeSerializer*)’: ../src/flecs/distr/flecs.c:49539:44: error: invalid conversion from ‘void*’ to ‘ecs_meta_type_op_t*’ [-fpermissive] 49539 | ecs_meta_type_op_t *ops = ecs_vec_first(&ptr->ops); | ~~~~~~~~~~~~~^~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_constants_dtor(ecs_map_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_enum_constant_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:49620:34: note: in expansion of macro ‘ecs_map_ptr’ 49620 | ecs_enum_constant_t *c = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_constants_copy(ecs_map_t*, const ecs_map_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_map_data_t*’ {aka ‘long unsigned int*’} to type ‘ecs_enum_constant_t**’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1862:29: note: in expansion of macro ‘ECS_CAST’ 1862 | #define ecs_map_ref(it, T) (ECS_CAST(T**, &((it)->res[1]))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:49635:35: note: in expansion of macro ‘ecs_map_ref’ 49635 | ecs_enum_constant_t **r = ecs_map_ref(&it, ecs_enum_constant_t); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_add_constant_to_enum(ecs_world_t*, ecs_entity_t, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_enum_constant_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50086:34: note: in expansion of macro ‘ecs_map_ptr’ 50086 | ecs_enum_constant_t *c = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_enum_constant_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50114:34: note: in expansion of macro ‘ecs_map_ptr’ 50114 | ecs_enum_constant_t *c = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50142:25: error: invalid conversion from ‘void*’ to ‘ecs_i32_t*’ {aka ‘int*’} [-fpermissive] 50142 | cptr = ecs_ensure_id(world, e, type); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_add_constant_to_bitmask(ecs_world_t*, ecs_entity_t, ecs_entity_t, ecs_id_t)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_bitmask_constant_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50160:37: note: in expansion of macro ‘ecs_map_ptr’ 50160 | ecs_bitmask_constant_t *c = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_bitmask_constant_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50188:37: note: in expansion of macro ‘ecs_map_ptr’ 50188 | ecs_bitmask_constant_t *c = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50211:25: error: invalid conversion from ‘void*’ to ‘ecs_u32_t*’ {aka ‘unsigned int*’} [-fpermissive] 50211 | cptr = ecs_ensure_id(world, e, type); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_set_member(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:50288:47: error: invalid conversion from ‘void*’ to ‘EcsMemberRanges*’ [-fpermissive] 50288 | EcsMemberRanges *ranges = ecs_table_get_id(world, it->table, | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | | | void* 50289 | ecs_id(EcsMemberRanges), it->offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_set_member_ranges(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:50309:41: error: invalid conversion from ‘void*’ to ‘EcsMember*’ [-fpermissive] 50309 | EcsMember *member = ecs_table_get_id(world, it->table, | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | | | void* 50310 | ecs_id(EcsMember), it->offset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsMetaImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:3008:37: error: taking address of rvalue [-fpermissive] 3008 | .entity = ecs_entity(world, { .id = ecs_id(id_), .name = #id_, .symbol = #id_ }),\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50632:5: note: in expansion of macro ‘flecs_bootstrap_component’ 50632 | flecs_bootstrap_component(world, EcsTypeSerializer); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:3007:53: error: expected primary-expression before ‘)’ token 3007 | ecs_component_init(world, &(ecs_component_desc_t){\ | ^ ../src/flecs/distr/flecs.c:50632:5: note: in expansion of macro ‘flecs_bootstrap_component’ 50632 | flecs_bootstrap_component(world, EcsTypeSerializer); | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50635:37: error: taking address of rvalue [-fpermissive] 50635 | .entity = ecs_entity(world, { .id = ecs_id(EcsType), | ^~~~~~~~~~~~~~~~~~~~~~~~ 50636 | .name = "type", .symbol = "EcsType" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50637 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50635:19: note: in expansion of macro ‘ecs_entity’ 50635 | .entity = ecs_entity(world, { .id = ecs_id(EcsType), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50634:5: note: in expansion of macro ‘ecs_component’ 50634 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50643:37: error: taking address of rvalue [-fpermissive] 50643 | .entity = ecs_entity(world, { .id = ecs_id(EcsPrimitive), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50644 | .name = "primitive", .symbol = "EcsPrimitive" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50645 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50643:19: note: in expansion of macro ‘ecs_entity’ 50643 | .entity = ecs_entity(world, { .id = ecs_id(EcsPrimitive), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50642:5: note: in expansion of macro ‘ecs_component’ 50642 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50651:37: error: taking address of rvalue [-fpermissive] 50651 | .entity = ecs_entity(world, { .id = EcsConstant, | ^~~~~~~~~~~~~~~~~~~~ 50652 | .name = "constant", .symbol = "EcsConstant" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50653 | }) | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50651:19: note: in expansion of macro ‘ecs_entity’ 50651 | .entity = ecs_entity(world, { .id = EcsConstant, | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:50650:26: error: taking address of rvalue [-fpermissive] 50650 | ecs_component(world, { | ^ 50651 | .entity = ecs_entity(world, { .id = EcsConstant, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50652 | .name = "constant", .symbol = "EcsConstant" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50653 | }) | ~~ 50654 | }); | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50657:37: error: taking address of rvalue [-fpermissive] 50657 | .entity = ecs_entity(world, { .id = ecs_id(EcsEnum), | ^~~~~~~~~~~~~~~~~~~~~~~~ 50658 | .name = "enum", .symbol = "EcsEnum" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50659 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50657:19: note: in expansion of macro ‘ecs_entity’ 50657 | .entity = ecs_entity(world, { .id = ecs_id(EcsEnum), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50656:5: note: in expansion of macro ‘ecs_component’ 50656 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50665:37: error: taking address of rvalue [-fpermissive] 50665 | .entity = ecs_entity(world, { .id = ecs_id(EcsBitmask), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 50666 | .name = "bitmask", .symbol = "EcsBitmask" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50667 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50665:19: note: in expansion of macro ‘ecs_entity’ 50665 | .entity = ecs_entity(world, { .id = ecs_id(EcsBitmask), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50664:5: note: in expansion of macro ‘ecs_component’ 50664 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50673:37: error: taking address of rvalue [-fpermissive] 50673 | .entity = ecs_entity(world, { .id = ecs_id(EcsMember), | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 50674 | .name = "member", .symbol = "EcsMember" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50675 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50673:19: note: in expansion of macro ‘ecs_entity’ 50673 | .entity = ecs_entity(world, { .id = ecs_id(EcsMember), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50672:5: note: in expansion of macro ‘ecs_component’ 50672 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50681:37: error: taking address of rvalue [-fpermissive] 50681 | .entity = ecs_entity(world, { .id = ecs_id(EcsMemberRanges), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50682 | .name = "member_ranges", .symbol = "EcsMemberRanges" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50683 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50681:19: note: in expansion of macro ‘ecs_entity’ 50681 | .entity = ecs_entity(world, { .id = ecs_id(EcsMemberRanges), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50680:5: note: in expansion of macro ‘ecs_component’ 50680 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50689:37: error: taking address of rvalue [-fpermissive] 50689 | .entity = ecs_entity(world, { .id = ecs_id(EcsStruct), | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 50690 | .name = "struct", .symbol = "EcsStruct" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50691 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50689:19: note: in expansion of macro ‘ecs_entity’ 50689 | .entity = ecs_entity(world, { .id = ecs_id(EcsStruct), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50688:5: note: in expansion of macro ‘ecs_component’ 50688 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50697:37: error: taking address of rvalue [-fpermissive] 50697 | .entity = ecs_entity(world, { .id = ecs_id(EcsArray), | ^~~~~~~~~~~~~~~~~~~~~~~~~ 50698 | .name = "array", .symbol = "EcsArray" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50699 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50697:19: note: in expansion of macro ‘ecs_entity’ 50697 | .entity = ecs_entity(world, { .id = ecs_id(EcsArray), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50696:5: note: in expansion of macro ‘ecs_component’ 50696 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50705:37: error: taking address of rvalue [-fpermissive] 50705 | .entity = ecs_entity(world, { .id = ecs_id(EcsVector), | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 50706 | .name = "vector", .symbol = "EcsVector" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50707 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50705:19: note: in expansion of macro ‘ecs_entity’ 50705 | .entity = ecs_entity(world, { .id = ecs_id(EcsVector), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50704:5: note: in expansion of macro ‘ecs_component’ 50704 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50713:37: error: taking address of rvalue [-fpermissive] 50713 | .entity = ecs_entity(world, { .id = ecs_id(EcsOpaque), | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 50714 | .name = "opaque", .symbol = "EcsOpaque" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50715 | }), | ~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50713:19: note: in expansion of macro ‘ecs_entity’ 50713 | .entity = ecs_entity(world, { .id = ecs_id(EcsOpaque), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50712:5: note: in expansion of macro ‘ecs_component’ 50712 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50721:19: note: in expansion of macro ‘ecs_entity’ 50721 | .entity = ecs_entity(world, { .id = ecs_id(EcsUnit), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:50723:20: note: in expansion of macro ‘ecs_ids’ 50723 | .add = ecs_ids(ecs_pair(EcsOnInstantiate, EcsInherit)) | ^~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50720:5: note: in expansion of macro ‘ecs_component’ 50720 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50730:19: note: in expansion of macro ‘ecs_entity’ 50730 | .entity = ecs_entity(world, { .id = ecs_id(EcsUnitPrefix), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:50732:20: note: in expansion of macro ‘ecs_ids’ 50732 | .add = ecs_ids(ecs_pair(EcsOnInstantiate, EcsInherit)) | ^~~~~~~ ../src/flecs/distr/flecs.h:9671:53: error: expected primary-expression before ‘)’ token 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50729:5: note: in expansion of macro ‘ecs_component’ 50729 | ecs_component(world, { | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9671:55: note: in definition of macro ‘ecs_component’ 9671 | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50739:19: note: in expansion of macro ‘ecs_entity’ 50739 | .entity = ecs_entity(world, { .id = EcsQuantity, | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:50741:20: note: in expansion of macro ‘ecs_ids’ 50741 | .add = ecs_ids(ecs_pair(EcsOnInstantiate, EcsInherit)) | ^~~~~~~ ../src/flecs/distr/flecs.c:50745:35: error: taking address of rvalue [-fpermissive] 50745 | ecs_set_hooks(world, EcsType, { .ctor = flecs_default_ctor }); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50752:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 50752 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50747:45: error: taking address of rvalue [-fpermissive] 50747 | ecs_set_hooks(world, EcsTypeSerializer, { | ^ 50748 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50749 | .move = ecs_move(EcsTypeSerializer), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50750 | .copy = ecs_copy(EcsTypeSerializer), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50751 | .dtor = ecs_dtor(EcsTypeSerializer) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50752 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50759:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 50759 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50754:37: error: taking address of rvalue [-fpermissive] 50754 | ecs_set_hooks(world, EcsStruct, { | ^ 50755 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50756 | .move = ecs_move(EcsStruct), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50757 | .copy = ecs_copy(EcsStruct), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50758 | .dtor = ecs_dtor(EcsStruct) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50759 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50761:37: error: taking address of rvalue [-fpermissive] 50761 | ecs_set_hooks(world, EcsMember, { | ^ 50762 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50763 | .on_set = flecs_member_on_set | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50764 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50766:43: error: taking address of rvalue [-fpermissive] 50766 | ecs_set_hooks(world, EcsMemberRanges, { | ^ 50767 | .ctor = flecs_default_ctor | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 50768 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50775:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 50775 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50770:35: error: taking address of rvalue [-fpermissive] 50770 | ecs_set_hooks(world, EcsEnum, { | ^ 50771 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50772 | .move = ecs_move(EcsEnum), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 50773 | .copy = ecs_copy(EcsEnum), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 50774 | .dtor = ecs_dtor(EcsEnum) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 50775 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50782:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 50782 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50777:38: error: taking address of rvalue [-fpermissive] 50777 | ecs_set_hooks(world, EcsBitmask, { | ^ 50778 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50779 | .move = ecs_move(EcsBitmask), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50780 | .copy = ecs_copy(EcsBitmask), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50781 | .dtor = ecs_dtor(EcsBitmask) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50782 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50789:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 50789 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50784:35: error: taking address of rvalue [-fpermissive] 50784 | ecs_set_hooks(world, EcsUnit, { | ^ 50785 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50786 | .move = ecs_move(EcsUnit), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 50787 | .copy = ecs_copy(EcsUnit), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 50788 | .dtor = ecs_dtor(EcsUnit) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 50789 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50796:5: error: designator order for field ‘ecs_type_hooks_t::copy’ does not match declaration order in ‘ecs_type_hooks_t’ 50796 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50791:41: error: taking address of rvalue [-fpermissive] 50791 | ecs_set_hooks(world, EcsUnitPrefix, { | ^ 50792 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50793 | .move = ecs_move(EcsUnitPrefix), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50794 | .copy = ecs_copy(EcsUnitPrefix), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50795 | .dtor = ecs_dtor(EcsUnitPrefix) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50796 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50801:5: note: in expansion of macro ‘ecs_observer’ 50801 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50807:5: note: in expansion of macro ‘ecs_observer’ 50807 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50813:5: note: in expansion of macro ‘ecs_observer’ 50813 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50819:5: note: in expansion of macro ‘ecs_observer’ 50819 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50825:5: note: in expansion of macro ‘ecs_observer’ 50825 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50831:5: note: in expansion of macro ‘ecs_observer’ 50831 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50837:5: note: in expansion of macro ‘ecs_observer’ 50837 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50843:5: note: in expansion of macro ‘ecs_observer’ 50843 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50849:5: note: in expansion of macro ‘ecs_observer’ 50849 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50855:5: note: in expansion of macro ‘ecs_observer’ 50855 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50861:5: note: in expansion of macro ‘ecs_observer’ 50861 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50867:5: note: in expansion of macro ‘ecs_observer’ 50867 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50873:5: note: in expansion of macro ‘ecs_observer’ 50873 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:50879:5: note: in expansion of macro ‘ecs_observer’ 50879 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50899:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50899 | ECS_PRIMITIVE(world, bool, EcsBool); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50900:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50900 | ECS_PRIMITIVE(world, char, EcsChar); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50901:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50901 | ECS_PRIMITIVE(world, byte, EcsByte); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50902:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50902 | ECS_PRIMITIVE(world, u8, EcsU8); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50903:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50903 | ECS_PRIMITIVE(world, u16, EcsU16); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50904:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50904 | ECS_PRIMITIVE(world, u32, EcsU32); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50905:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50905 | ECS_PRIMITIVE(world, u64, EcsU64); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50906:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50906 | ECS_PRIMITIVE(world, uptr, EcsUPtr); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50907:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50907 | ECS_PRIMITIVE(world, i8, EcsI8); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50908:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50908 | ECS_PRIMITIVE(world, i16, EcsI16); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50909:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50909 | ECS_PRIMITIVE(world, i32, EcsI32); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50910:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50910 | ECS_PRIMITIVE(world, i64, EcsI64); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50911:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50911 | ECS_PRIMITIVE(world, iptr, EcsIPtr); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50912:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50912 | ECS_PRIMITIVE(world, f32, EcsF32); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50913:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50913 | ECS_PRIMITIVE(world, f64, EcsF64); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50914:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50914 | ECS_PRIMITIVE(world, string, EcsString); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50915:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50915 | ECS_PRIMITIVE(world, entity, EcsEntity); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: error: taking address of rvalue [-fpermissive] 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50893 | .name = #type,\ | ~~~~~~~~~~~~~~~ 50894 | .symbol = #type });\ | ~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50891:52: note: in definition of macro ‘ECS_PRIMITIVE’ 50891 | ecs_entity_init(world, &(ecs_entity_desc_t){\ | ^~ 50892 | .id = ecs_id(ecs_##type##_t),\ | In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:50895:62: error: taking address of rvalue [-fpermissive] 50895 | ecs_set(world, ecs_id(ecs_##type##_t), EcsPrimitive, {\ | ^~ 50896 | .kind = primitive_kind\ | ~~~~~~~~~~~~~~~~~~~~~~~ 50897 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50916:5: note: in expansion of macro ‘ECS_PRIMITIVE’ 50916 | ECS_PRIMITIVE(world, id, EcsId); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:50925:5: error: designator order for field ‘ecs_type_hooks_t::dtor’ does not match declaration order in ‘ecs_type_hooks_t’ 50925 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50920:40: error: taking address of rvalue [-fpermissive] 50920 | ecs_set_hooks(world, ecs_string_t, { | ^ 50921 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50922 | .copy = ecs_copy(ecs_string_t), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50923 | .move = ecs_move(ecs_string_t), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50924 | .dtor = ecs_dtor(ecs_string_t) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50925 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50928:66: error: taking address of rvalue [-fpermissive] 50928 | ecs_set(world, ecs_id(EcsStruct), EcsDefaultChildComponent, {ecs_id(EcsMember)}); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50929:66: error: taking address of rvalue [-fpermissive] 50929 | ecs_set(world, ecs_id(EcsMember), EcsDefaultChildComponent, {ecs_id(EcsMember)}); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50930:66: error: taking address of rvalue [-fpermissive] 50930 | ecs_set(world, ecs_id(EcsEnum), EcsDefaultChildComponent, {EcsConstant}); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:50931:66: error: taking address of rvalue [-fpermissive] 50931 | ecs_set(world, ecs_id(EcsBitmask), EcsDefaultChildComponent, {EcsConstant}); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_struct_ctor(void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51044:54: error: invalid conversion from ‘void*’ to ‘ecs_rtt_struct_ctx_t*’ [-fpermissive] 51044 | ecs_rtt_struct_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_struct_dtor(void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51058:54: error: invalid conversion from ‘void*’ to ‘ecs_rtt_struct_ctx_t*’ [-fpermissive] 51058 | ecs_rtt_struct_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_struct_move(void*, void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51073:54: error: invalid conversion from ‘void*’ to ‘ecs_rtt_struct_ctx_t*’ [-fpermissive] 51073 | ecs_rtt_struct_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_struct_copy(void*, const void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51104:54: error: invalid conversion from ‘void*’ to ‘ecs_rtt_struct_ctx_t*’ [-fpermissive] 51104 | ecs_rtt_struct_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_free_lifecycle_struct_ctx(void*)’: ../src/flecs/distr/flecs.c:51133:43: error: invalid conversion from ‘void*’ to ‘ecs_rtt_struct_ctx_t*’ [-fpermissive] 51133 | ecs_rtt_struct_ctx_t *lifecycle_ctx = ctx; | ^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_init_default_hooks_struct(ecs_world_t*, ecs_entity_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51210:42: error: invalid conversion from ‘void*’ to ‘ecs_member_t*’ [-fpermissive] 51210 | ecs_member_t *members = ecs_vec_first(&struct_info->members); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_array_ctor(void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51314:53: error: invalid conversion from ‘void*’ to ‘ecs_rtt_array_ctx_t*’ [-fpermissive] 51314 | ecs_rtt_array_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_array_dtor(void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51332:53: error: invalid conversion from ‘void*’ to ‘ecs_rtt_array_ctx_t*’ [-fpermissive] 51332 | ecs_rtt_array_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_array_move(void*, void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51351:53: error: invalid conversion from ‘void*’ to ‘ecs_rtt_array_ctx_t*’ [-fpermissive] 51351 | ecs_rtt_array_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_array_copy(void*, const void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51371:53: error: invalid conversion from ‘void*’ to ‘ecs_rtt_array_ctx_t*’ [-fpermissive] 51371 | ecs_rtt_array_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_vector_ctor(void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51459:54: error: invalid conversion from ‘void*’ to ‘ecs_rtt_vector_ctx_t*’ [-fpermissive] 51459 | ecs_rtt_vector_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_vec_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:51462:26: note: in expansion of macro ‘ECS_ELEM’ 51462 | ecs_vec_t *vec = ECS_ELEM(ptr, type_info->size, i); | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_vector_dtor(void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51475:54: error: invalid conversion from ‘void*’ to ‘ecs_rtt_vector_ctx_t*’ [-fpermissive] 51475 | ecs_rtt_vector_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_vec_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:51479:26: note: in expansion of macro ‘ECS_ELEM’ 51479 | ecs_vec_t *vec = ECS_ELEM(ptr, type_info->size, i); | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_vector_move(void*, void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_vec_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:51499:30: note: in expansion of macro ‘ECS_ELEM’ 51499 | ecs_vec_t *src_vec = ECS_ELEM(src_ptr, type_info->size, i); | ^~~~~~~~ ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_vec_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:51500:30: note: in expansion of macro ‘ECS_ELEM’ 51500 | ecs_vec_t *dst_vec = ECS_ELEM(dst_ptr, type_info->size, i); | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_vector_copy(void*, const void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:51515:54: error: invalid conversion from ‘void*’ to ‘ecs_rtt_vector_ctx_t*’ [-fpermissive] 51515 | ecs_rtt_vector_ctx_t *rtt_ctx = type_info->hooks.lifecycle_ctx; | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘const ecs_vec_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:51526:36: note: in expansion of macro ‘ECS_ELEM’ 51526 | const ecs_vec_t *src_vec = ECS_ELEM(src_ptr, type_info->size, i); | ^~~~~~~~ ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_vec_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:51527:30: note: in expansion of macro ‘ECS_ELEM’ 51527 | ecs_vec_t *dst_vec = ECS_ELEM(dst_ptr, type_info->size, i); | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_rtt_init_default_hooks(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:51617:36: error: taking address of rvalue [-fpermissive] 51617 | &(ecs_type_hooks_t){.ctor = flecs_default_ctor}); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_meta_type_op_kind_t flecs_meta_primitive_to_op_kind(ecs_primitive_kind_t)’: ../src/flecs/distr/flecs.c:51640:27: error: invalid conversion from ‘int’ to ‘ecs_meta_type_op_kind_t’ [-fpermissive] 51640 | return EcsOpPrimitive + kind; | ~~~~~~~~~~~~~~~^~~~~~ | | | int ../src/flecs/distr/flecs.c: In function ‘int flecs_meta_serialize_array_component(ecs_world_t*, ecs_entity_t, ecs_vec_t*)’: ../src/flecs/distr/flecs.c:51757:46: error: invalid conversion from ‘void*’ to ‘ecs_meta_type_op_t*’ [-fpermissive] 51757 | ecs_meta_type_op_t *first = ecs_vec_first(ops); | ~~~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘int flecs_meta_serialize_struct(ecs_world_t*, ecs_entity_t, ecs_size_t, ecs_vec_t*)’: ../src/flecs/distr/flecs.c:51808:42: error: invalid conversion from ‘void*’ to ‘ecs_member_t*’ [-fpermissive] 51808 | ecs_member_t *members = ecs_vec_first(&ptr->members); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_os_thread_t posix_thread_new(ecs_os_thread_callback_t, void*)’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘pthread_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:52253:25: note: in expansion of macro ‘ecs_os_malloc’ 52253 | pthread_t *thread = ecs_os_malloc(sizeof(pthread_t)); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_os_mutex_t posix_mutex_new()’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘pthread_mutex_t*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:52361:30: note: in expansion of macro ‘ecs_os_malloc’ 52361 | pthread_mutex_t *mutex = ecs_os_malloc(sizeof(pthread_mutex_t)); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_os_cond_t posix_cond_new()’: ../src/flecs/distr/flecs.h:2607:47: error: invalid conversion from ‘void*’ to ‘pthread_cond_t*’ [-fpermissive] 2607 | #define ecs_os_malloc(size) ecs_os_api.malloc_(size) | ~~~~~~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:52399:28: note: in expansion of macro ‘ecs_os_malloc’ 52399 | pthread_cond_t *cond = ecs_os_malloc(sizeof(pthread_cond_t)); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘EcsPoly* flecs_pipeline_term_system(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:52805:41: error: invalid conversion from ‘void*’ to ‘EcsPoly*’ [-fpermissive] 52805 | EcsPoly *poly = ecs_table_get_column(it->table, index, it->offset); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_run_startup_systems(ecs_world_t*)’: ../src/flecs/distr/flecs.c:53260:76: error: expected primary-expression before ‘)’ token 53260 | ecs_entity_t start_pip = ecs_pipeline_init(world, &(ecs_pipeline_desc_t){ | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_pipeline_init(ecs_world_t*, const ecs_pipeline_desc_t*)’: ../src/flecs/distr/flecs.c:53402:41: error: taking address of rvalue [-fpermissive] 53402 | ecs_set(world, result, EcsPipeline, { pq }); | ^~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53405:1: error: jump to label ‘error’ 53405 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:53395:5: note: in expansion of macro ‘ecs_check’ 53395 | ecs_check(query->terms[0].id == EcsSystem, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:53398:27: note: crosses initialization of ‘ecs_pipeline_state_t* pq’ 53398 | ecs_pipeline_state_t *pq = ecs_os_calloc_t(ecs_pipeline_state_t); | ^~ ../src/flecs/distr/flecs.c:53405:1: error: jump to label ‘error’ 53405 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:53393:5: note: in expansion of macro ‘ecs_check’ 53393 | ecs_check(query->terms != NULL, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:53398:27: note: crosses initialization of ‘ecs_pipeline_state_t* pq’ 53398 | ecs_pipeline_state_t *pq = ecs_os_calloc_t(ecs_pipeline_state_t); | ^~ ../src/flecs/distr/flecs.c:53405:1: error: jump to label ‘error’ 53405 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:53374:5: note: in expansion of macro ‘ecs_check’ 53374 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:53398:27: note: crosses initialization of ‘ecs_pipeline_state_t* pq’ 53398 | ecs_pipeline_state_t *pq = ecs_os_calloc_t(ecs_pipeline_state_t); | ^~ ../src/flecs/distr/flecs.c:53387:18: note: crosses initialization of ‘ecs_query_t* query’ 53387 | ecs_query_t *query = ecs_query_init(world, &qd); | ^~~~~ ../src/flecs/distr/flecs.c:53381:22: note: crosses initialization of ‘ecs_query_desc_t qd’ 53381 | ecs_query_desc_t qd = desc->query; | ^~ ../src/flecs/distr/flecs.c:53376:18: note: crosses initialization of ‘ecs_entity_t result’ 53376 | ecs_entity_t result = desc->entity; | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsPipelineImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:3008:37: error: taking address of rvalue [-fpermissive] 3008 | .entity = ecs_entity(world, { .id = ecs_id(id_), .name = #id_, .symbol = #id_ }),\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53451:5: note: in expansion of macro ‘flecs_bootstrap_component’ 53451 | flecs_bootstrap_component(world, EcsPipeline); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:3007:53: error: expected primary-expression before ‘)’ token 3007 | ecs_component_init(world, &(ecs_component_desc_t){\ | ^ ../src/flecs/distr/flecs.c:53451:5: note: in expansion of macro ‘flecs_bootstrap_component’ 53451 | flecs_bootstrap_component(world, EcsPipeline); | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:53458:46: error: taking address of rvalue [-fpermissive] 53458 | ecs_entity_t phase_0 = ecs_entity(world, {0}); | ^~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53459:55: note: in expansion of macro ‘ecs_ids’ 53459 | ecs_entity_t phase_1 = ecs_entity(world, { .add = ecs_ids(ecs_dependson(phase_0)) }); | ^~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53460:55: note: in expansion of macro ‘ecs_ids’ 53460 | ecs_entity_t phase_2 = ecs_entity(world, { .add = ecs_ids(ecs_dependson(phase_1)) }); | ^~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53461:55: note: in expansion of macro ‘ecs_ids’ 53461 | ecs_entity_t phase_3 = ecs_entity(world, { .add = ecs_ids(ecs_dependson(phase_2)) }); | ^~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53462:55: note: in expansion of macro ‘ecs_ids’ 53462 | ecs_entity_t phase_4 = ecs_entity(world, { .add = ecs_ids(ecs_dependson(phase_3)) }); | ^~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53463:55: note: in expansion of macro ‘ecs_ids’ 53463 | ecs_entity_t phase_5 = ecs_entity(world, { .add = ecs_ids(ecs_dependson(phase_4)) }); | ^~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53464:55: note: in expansion of macro ‘ecs_ids’ 53464 | ecs_entity_t phase_6 = ecs_entity(world, { .add = ecs_ids(ecs_dependson(phase_5)) }); | ^~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53465:55: note: in expansion of macro ‘ecs_ids’ 53465 | ecs_entity_t phase_7 = ecs_entity(world, { .add = ecs_ids(ecs_dependson(phase_6)) }); | ^~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53466:55: note: in expansion of macro ‘ecs_ids’ 53466 | ecs_entity_t phase_8 = ecs_entity(world, { .add = ecs_ids(ecs_dependson(phase_7)) }); | ^~~~~~~ ../src/flecs/distr/flecs.c:53480:39: error: taking address of rvalue [-fpermissive] 53480 | ecs_set_hooks(world, EcsPipeline, { | ^ 53481 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53482 | .dtor = ecs_dtor(EcsPipeline), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53483 | .move = ecs_move(EcsPipeline) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53484 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53487:37: error: taking address of rvalue [-fpermissive] 53487 | .entity = ecs_entity(world, { .name = "BuiltinPipeline" }), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:11890:53: note: in definition of macro ‘ecs_pipeline’ 11890 | ecs_pipeline_init(world, &(ecs_pipeline_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:53487:19: note: in expansion of macro ‘ecs_entity’ 53487 | .entity = ecs_entity(world, { .name = "BuiltinPipeline" }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:11890:51: error: expected primary-expression before ‘)’ token 11890 | ecs_pipeline_init(world, &(ecs_pipeline_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:53486:23: note: in expansion of macro ‘ecs_pipeline’ 53486 | world->pipeline = ecs_pipeline(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void* flecs_worker(void*)’: ../src/flecs/distr/flecs.c:53539:26: error: invalid conversion from ‘void*’ to ‘ecs_stage_t*’ [-fpermissive] 53539 | ecs_stage_t *stage = arg; | ^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void* flecs_ast_new_(ecs_script_parser_t*, ecs_size_t, ecs_script_node_kind_t)’: ../src/flecs/distr/flecs.h:2005:44: error: invalid conversion from ‘void*’ to ‘ecs_script_node_t*’ [-fpermissive] 2005 | #define flecs_calloc(a, size) flecs_bcalloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:53840:33: note: in expansion of macro ‘flecs_calloc’ 53840 | ecs_script_node_t *result = flecs_calloc(a, size); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* flecs_parse_multiline_string(ecs_meta_cursor_t*, const char*, const char*, const char*)’: ../src/flecs/distr/flecs.c:54529:1: error: jump to label ‘error’ 54529 | error: | ^~~~~ ../src/flecs/distr/flecs.c:54520:14: note: from here 54520 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:54522:11: note: crosses initialization of ‘char* strval’ 54522 | char *strval = ecs_strbuf_get(&str); | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_value_t flecs_dotresolve_var(ecs_world_t*, ecs_script_vars_t*, char*)’: ../src/flecs/distr/flecs.c:54579:5: error: designator order for field ‘ecs_value_t::type’ does not match declaration order in ‘ecs_value_t’ 54579 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_meta_call(ecs_world_t*, ecs_value_stack_t*, const char*, const char*, const char*, ecs_meta_cursor_t*, const char*)’: ../src/flecs/distr/flecs.c:54611:45: error: invalid conversion from ‘void*’ to ‘char**’ [-fpermissive] 54611 | char **result = flecs_expr_value_new(stack, ecs_id(ecs_string_t)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:54622:45: error: invalid conversion from ‘void*’ to ‘char**’ [-fpermissive] 54622 | char **result = flecs_expr_value_new(stack, ecs_id(ecs_string_t)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t flecs_binary_expr_type(ecs_world_t*, const char*, const char*, const char*, ecs_value_t*, ecs_value_t*, ecs_expr_oper_t, ecs_entity_t*)’: ../src/flecs/distr/flecs.c:55077:1: error: jump to label ‘error’ 55077 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10874:5: note: in expansion of macro ‘ecs_dummy_check’ 10874 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:55022:9: note: in expansion of macro ‘ecs_throw’ 55022 | ecs_throw(ECS_INTERNAL_ERROR, "invalid operator"); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:55040:18: note: crosses initialization of ‘ecs_entity_t rtype’ 55040 | ecs_entity_t rtype = flecs_largest_type(rtype_ptr); | ^~~~~ ../src/flecs/distr/flecs.c:55039:18: note: crosses initialization of ‘ecs_entity_t ltype’ 55039 | ecs_entity_t ltype = flecs_largest_type(ltype_ptr); | ^~~~~ ../src/flecs/distr/flecs.c:55027:25: note: crosses initialization of ‘const EcsPrimitive* rtype_ptr’ 55027 | const EcsPrimitive *rtype_ptr = ecs_get(world, rvalue->type, EcsPrimitive); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:55026:25: note: crosses initialization of ‘const EcsPrimitive* ltype_ptr’ 55026 | const EcsPrimitive *ltype_ptr = ecs_get(world, lvalue->type, EcsPrimitive); | ^~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_binary_expr_do(ecs_world_t*, ecs_value_stack_t*, const char*, const char*, const char*, ecs_value_t*, ecs_value_t*, ecs_value_t*, ecs_expr_oper_t)’: ../src/flecs/distr/flecs.c:55246:1: error: jump to label ‘error’ 55246 | error: | ^~~~~ ../src/flecs/distr/flecs.c:55169:14: note: from here 55169 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:55176:17: note: crosses initialization of ‘ecs_value_t tmp_storage’ 55176 | ecs_value_t tmp_storage = {0}; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:55175:18: note: crosses initialization of ‘ecs_value_t* storage’ 55175 | ecs_value_t *storage = result; | ^~~~~~~ ../src/flecs/distr/flecs.c:55246:1: error: jump to label ‘error’ 55246 | error: | ^~~~~ ../src/flecs/distr/flecs.c:55164:14: note: from here 55164 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:55176:17: note: crosses initialization of ‘ecs_value_t tmp_storage’ 55176 | ecs_value_t tmp_storage = {0}; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:55175:18: note: crosses initialization of ‘ecs_value_t* storage’ 55175 | ecs_value_t *storage = result; | ^~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* flecs_funccall_parse(ecs_world_t*, ecs_value_stack_t*, const char*, const char*, const char*, char*, ecs_meta_cursor_t*, ecs_value_t*, bool, const ecs_script_expr_run_desc_t*)’: ../src/flecs/distr/flecs.c:55366:29: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] 55366 | char *paren = strchr(ptr, '('); | ~~~~~~^~~~~~~~~~ | | | const char* ../src/flecs/distr/flecs.c: In function ‘const char* flecs_script_expr_run(ecs_world_t*, ecs_value_stack_t*, const char*, ecs_value_t*, ecs_expr_oper_t, const ecs_script_expr_run_desc_t*)’: ../src/flecs/distr/flecs.c:55761:28: error: invalid conversion from ‘int’ to ‘ecs_expr_oper_t’ [-fpermissive] 55761 | unary_op = 0; | ^ | | | int ../src/flecs/distr/flecs.c: In function ‘const char* flecs_script_comma_expr(ecs_script_parser_t*, const char*, bool)’: ../src/flecs/distr/flecs.c:56221:9: error: jump to case label 56221 | default:\ | ^~~~~~~ ../src/flecs/distr/flecs.c:56277:9: note: in definition of macro ‘Loop’ 56277 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56278 | } while (true); | ../src/flecs/distr/flecs.c:56345:9: note: in expansion of macro ‘LookAhead’ 56345 | LookAhead( | ^~~~~~~~~ ../src/flecs/distr/flecs.c:56216:17: note: crosses initialization of ‘const char* old_lh_token_cur’ 56216 | const char *old_lh_token_cur = parser->token_cur;\ | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56277:9: note: in definition of macro ‘Loop’ 56277 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56278 | } while (true); | ../src/flecs/distr/flecs.c:56345:9: note: in expansion of macro ‘LookAhead’ 56345 | LookAhead( | ^~~~~~~~~ ../src/flecs/distr/flecs.c:56234:5: note: in expansion of macro ‘LookAhead’ 56234 | LookAhead(\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:56359:17: note: in expansion of macro ‘LookAhead_1’ 56359 | LookAhead_1(',', | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* flecs_script_stmt(ecs_script_parser_t*, const char*)’: ../src/flecs/distr/flecs.c:56654:37: error: expected unqualified-id before ‘template’ 56654 | ecs_script_template_node_t *template = flecs_script_insert_template( | ^~~~~~~~ ../src/flecs/distr/flecs.c:56152:13: note: in definition of macro ‘Parse’ 56152 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56153 | default:\ | ../src/flecs/distr/flecs.c:56653:5: note: in expansion of macro ‘Parse_1’ 56653 | Parse_1(EcsTokIdentifier, | ^~~~~~~ ../src/flecs/distr/flecs.c:56660:51: error: expected primary-expression before ‘template’ 56660 | return flecs_script_scope(parser, template->scope, pos); | ^~~~~~~~ ../src/flecs/distr/flecs.c:56152:13: note: in definition of macro ‘Parse’ 56152 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56153 | default:\ | ../src/flecs/distr/flecs.c:56653:5: note: in expansion of macro ‘Parse_1’ 56653 | Parse_1(EcsTokIdentifier, | ^~~~~~~ ../src/flecs/distr/flecs.c:56657:9: note: in expansion of macro ‘Parse’ 56657 | Parse( | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_script_t* ecs_script_parse(ecs_world_t*, const char*, const char*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:57100:26: note: in expansion of macro ‘flecs_alloc’ 57100 | impl->token_buffer = flecs_alloc( | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* flecs_term_parse_arg(ecs_script_parser_t*, const char*, int32_t)’: ../src/flecs/distr/flecs.c:56105:5: error: jump to label ‘error’ 56105 | error:\ | ^~~~~ ../src/flecs/distr/flecs.c:57357:5: note: in expansion of macro ‘ParserEnd’ 57357 | ParserEnd; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:56115:10: note: from here 56115 | goto error | ^~~~~ ../src/flecs/distr/flecs.c:57277:13: note: in expansion of macro ‘Error’ 57277 | Error("too many arguments in term"); | ^~~~~ ../src/flecs/distr/flecs.c:56216:17: note: crosses initialization of ‘const char* old_lh_token_cur’ 56216 | const char *old_lh_token_cur = parser->token_cur;\ | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56234:5: note: in expansion of macro ‘LookAhead’ 56234 | LookAhead(\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:57284:5: note: in expansion of macro ‘LookAhead_1’ 57284 | LookAhead_1(EcsTokIdentifier, | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:57282:10: note: crosses initialization of ‘bool is_trav_flag’ 57282 | bool is_trav_flag = false; | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* flecs_query_term_parse(ecs_script_parser_t*, const char*)’: ../src/flecs/distr/flecs.c:57627:14: error: jump to case label 57627 | case '\n':\ | ^~~~ ../src/flecs/distr/flecs.c:56152:13: note: in definition of macro ‘Parse’ 56152 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56153 | default:\ | ../src/flecs/distr/flecs.c:56216:17: note: crosses initialization of ‘const char* old_lh_token_cur’ 56216 | const char *old_lh_token_cur = parser->token_cur;\ | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56152:13: note: in definition of macro ‘Parse’ 56152 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56153 | default:\ | ../src/flecs/distr/flecs.c:56234:5: note: in expansion of macro ‘LookAhead’ 56234 | LookAhead(\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:57623:13: note: in expansion of macro ‘LookAhead_1’ 57623 | LookAhead_1(',', | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:57628:14: error: jump to case label 57628 | case '\0': | ^~~~ ../src/flecs/distr/flecs.c:56152:13: note: in definition of macro ‘Parse’ 56152 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56153 | default:\ | ../src/flecs/distr/flecs.c:56216:17: note: crosses initialization of ‘const char* old_lh_token_cur’ 56216 | const char *old_lh_token_cur = parser->token_cur;\ | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56152:13: note: in definition of macro ‘Parse’ 56152 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56153 | default:\ | ../src/flecs/distr/flecs.c:56234:5: note: in expansion of macro ‘LookAhead’ 56234 | LookAhead(\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:57623:13: note: in expansion of macro ‘LookAhead_1’ 57623 | LookAhead_1(',', | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:56153:9: error: jump to case label 56153 | default:\ | ^~~~~~~ ../src/flecs/distr/flecs.c:57601:5: note: in expansion of macro ‘Parse’ 57601 | Parse( | ^~~~~ ../src/flecs/distr/flecs.c:56216:17: note: crosses initialization of ‘const char* old_lh_token_cur’ 56216 | const char *old_lh_token_cur = parser->token_cur;\ | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56152:13: note: in definition of macro ‘Parse’ 56152 | __VA_ARGS__\ | ^~~~~~~~~~~~ 56153 | default:\ | ../src/flecs/distr/flecs.c:56234:5: note: in expansion of macro ‘LookAhead’ 56234 | LookAhead(\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:57623:13: note: in expansion of macro ‘LookAhead_1’ 57623 | LookAhead_1(',', | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_terms_parse(ecs_script_t*, ecs_term_t*, int32_t*)’: ../src/flecs/distr/flecs.c:57659:25: error: invalid conversion from ‘int’ to ‘ecs_oper_kind_t’ [-fpermissive] 57659 | parser.extra_oper = 0; | ^ | | | int ../src/flecs/distr/flecs.c:57674:29: error: invalid conversion from ‘int’ to ‘ecs_oper_kind_t’ [-fpermissive] 57674 | parser.extra_oper = 0; | ^ | | | int ../src/flecs/distr/flecs.c: In function ‘const char* flecs_term_parse(ecs_world_t*, const char*, const char*, ecs_term_t*, char*)’: ../src/flecs/distr/flecs.c:56087:9: error: expected primary-expression before ‘.’ token 56087 | .pub.world = ECS_CONST_CAST(ecs_world_t*, w),\ | ^ ../src/flecs/distr/flecs.c:57750:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57750 | EcsParserFixedBuffer(world, name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56088:9: error: expected primary-expression before ‘.’ token 56088 | .pub.name = script_name,\ | ^ ../src/flecs/distr/flecs.c:57750:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57750 | EcsParserFixedBuffer(world, name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56089:9: error: expected primary-expression before ‘.’ token 56089 | .pub.code = expr\ | ^ ../src/flecs/distr/flecs.c:57750:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57750 | EcsParserFixedBuffer(world, name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* flecs_id_parse(const ecs_world_t*, const char*, const char*, ecs_id_t*)’: ../src/flecs/distr/flecs.c:56087:9: error: expected primary-expression before ‘.’ token 56087 | .pub.world = ECS_CONST_CAST(ecs_world_t*, w),\ | ^ ../src/flecs/distr/flecs.c:57775:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57775 | EcsParserFixedBuffer(world, name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56088:9: error: expected primary-expression before ‘.’ token 56088 | .pub.name = script_name,\ | ^ ../src/flecs/distr/flecs.c:57775:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57775 | EcsParserFixedBuffer(world, name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56089:9: error: expected primary-expression before ‘.’ token 56089 | .pub.code = expr\ | ^ ../src/flecs/distr/flecs.c:57775:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57775 | EcsParserFixedBuffer(world, name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘const char* ecs_query_args_parse(ecs_query_t*, ecs_iter_t*, const char*)’: ../src/flecs/distr/flecs.c:56087:9: error: expected primary-expression before ‘.’ token 56087 | .pub.world = ECS_CONST_CAST(ecs_world_t*, w),\ | ^ ../src/flecs/distr/flecs.c:57900:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57900 | EcsParserFixedBuffer(q->world, q_name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56088:9: error: expected primary-expression before ‘.’ token 56088 | .pub.name = script_name,\ | ^ ../src/flecs/distr/flecs.c:57900:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57900 | EcsParserFixedBuffer(q->world, q_name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56089:9: error: expected primary-expression before ‘.’ token 56089 | .pub.code = expr\ | ^ ../src/flecs/distr/flecs.c:57900:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57900 | EcsParserFixedBuffer(q->world, q_name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:57902:1: error: jump to label ‘error’ 57902 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:57891:5: note: in expansion of macro ‘ecs_check’ 57891 | ecs_check(expr != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:56091:25: note: crosses initialization of ‘ecs_script_parser_t parser’ 56091 | ecs_script_parser_t parser = {\ | ^~~~~~ ../src/flecs/distr/flecs.c:57900:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57900 | EcsParserFixedBuffer(q->world, q_name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56086:23: note: crosses initialization of ‘ecs_script_impl_t script’ 56086 | ecs_script_impl_t script = {\ | ^~~~~~ ../src/flecs/distr/flecs.c:57900:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57900 | EcsParserFixedBuffer(q->world, q_name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:57893:17: note: crosses initialization of ‘const char* q_name’ 57893 | const char *q_name = q->entity ? ecs_get_name(q->world, q->entity) : NULL; | ^~~~~~ ../src/flecs/distr/flecs.c:57902:1: error: jump to label ‘error’ 57902 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:57890:5: note: in expansion of macro ‘ecs_check’ 57890 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:56091:25: note: crosses initialization of ‘ecs_script_parser_t parser’ 56091 | ecs_script_parser_t parser = {\ | ^~~~~~ ../src/flecs/distr/flecs.c:57900:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57900 | EcsParserFixedBuffer(q->world, q_name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:56086:23: note: crosses initialization of ‘ecs_script_impl_t script’ 56086 | ecs_script_impl_t script = {\ | ^~~~~~ ../src/flecs/distr/flecs.c:57900:5: note: in expansion of macro ‘EcsParserFixedBuffer’ 57900 | EcsParserFixedBuffer(q->world, q_name, expr, token_buffer, 256); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:57893:17: note: crosses initialization of ‘const char* q_name’ 57893 | const char *q_name = q->entity ? ecs_get_name(q->world, q->entity) : NULL; | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘int ecs_script_run(ecs_world_t*, const char*, const char*)’: ../src/flecs/distr/flecs.c:57998:1: error: jump to label ‘error’ 57998 | error: | ^~~~~ ../src/flecs/distr/flecs.c:57983:14: note: from here 57983 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:57986:18: note: crosses initialization of ‘ecs_entity_t prev_scope’ 57986 | ecs_entity_t prev_scope = ecs_set_scope(world, 0); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int EcsScript_serialize(const ecs_serializer_t*, const void*)’: ../src/flecs/distr/flecs.c:58140:29: error: invalid conversion from ‘const void*’ to ‘const EcsScript*’ [-fpermissive] 58140 | const EcsScript *data = ptr; | ^~~ | | | const void* ../src/flecs/distr/flecs.c:58142:20: error: no matching function for call to ‘ecs_serializer_t::member(const ecs_serializer_t*&, const char [5]) const’ 58142 | ser->member(ser, "name"); | ~~~~~~~~~~~^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31809:12: note: candidate: ‘int ecs_serializer_t::member(const char*) const’ 31809 | inline int ecs_serializer_t::member(const char *name) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31809:12: note: candidate expects 1 argument, 2 provided ../src/flecs/distr/flecs.c:58143:19: error: no matching function for call to ‘ecs_serializer_t::value(const ecs_serializer_t*&, const ecs_entity_t&, const char**) const’ 58143 | ser->value(ser, ecs_id(ecs_string_t), &data->script->name); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:15304:9: note: candidate: ‘template int ecs_serializer_t::value(const T&) const’ 15304 | int value(const T& value) const; | ^~~~~ ../src/flecs/distr/flecs.h:15304:9: note: template argument deduction/substitution failed: ../src/flecs/distr/flecs.c:58143:19: note: candidate expects 1 argument, 3 provided 58143 | ser->value(ser, ecs_id(ecs_string_t), &data->script->name); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31799:12: note: candidate: ‘int ecs_serializer_t::value(ecs_entity_t, const void*) const’ 31799 | inline int ecs_serializer_t::value(ecs_entity_t type, const void *v) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31799:12: note: candidate expects 2 arguments, 3 provided ../src/flecs/distr/flecs.c:58144:20: error: no matching function for call to ‘ecs_serializer_t::member(const ecs_serializer_t*&, const char [5]) const’ 58144 | ser->member(ser, "code"); | ~~~~~~~~~~~^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31809:12: note: candidate: ‘int ecs_serializer_t::member(const char*) const’ 31809 | inline int ecs_serializer_t::member(const char *name) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31809:12: note: candidate expects 1 argument, 2 provided ../src/flecs/distr/flecs.c:58145:19: error: no matching function for call to ‘ecs_serializer_t::value(const ecs_serializer_t*&, const ecs_entity_t&, const char**) const’ 58145 | ser->value(ser, ecs_id(ecs_string_t), &data->script->code); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:15304:9: note: candidate: ‘template int ecs_serializer_t::value(const T&) const’ 15304 | int value(const T& value) const; | ^~~~~ ../src/flecs/distr/flecs.h:15304:9: note: template argument deduction/substitution failed: ../src/flecs/distr/flecs.c:58145:19: note: candidate expects 1 argument, 3 provided 58145 | ser->value(ser, ecs_id(ecs_string_t), &data->script->code); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31799:12: note: candidate: ‘int ecs_serializer_t::value(ecs_entity_t, const void*) const’ 31799 | inline int ecs_serializer_t::value(ecs_entity_t type, const void *v) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31799:12: note: candidate expects 2 arguments, 3 provided ../src/flecs/distr/flecs.c:58148:20: error: no matching function for call to ‘ecs_serializer_t::member(const ecs_serializer_t*&, const char [4]) const’ 58148 | ser->member(ser, "ast"); | ~~~~~~~~~~~^~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31809:12: note: candidate: ‘int ecs_serializer_t::member(const char*) const’ 31809 | inline int ecs_serializer_t::member(const char *name) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31809:12: note: candidate expects 1 argument, 2 provided ../src/flecs/distr/flecs.c:58149:19: error: no matching function for call to ‘ecs_serializer_t::value(const ecs_serializer_t*&, const ecs_entity_t&, char**) const’ 58149 | ser->value(ser, ecs_id(ecs_string_t), &ast); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:15304:9: note: candidate: ‘template int ecs_serializer_t::value(const T&) const’ 15304 | int value(const T& value) const; | ^~~~~ ../src/flecs/distr/flecs.h:15304:9: note: template argument deduction/substitution failed: ../src/flecs/distr/flecs.c:58149:19: note: candidate expects 1 argument, 3 provided 58149 | ser->value(ser, ecs_id(ecs_string_t), &ast); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31799:12: note: candidate: ‘int ecs_serializer_t::value(ecs_entity_t, const void*) const’ 31799 | inline int ecs_serializer_t::value(ecs_entity_t type, const void *v) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31799:12: note: candidate expects 2 arguments, 3 provided ../src/flecs/distr/flecs.c:58153:20: error: no matching function for call to ‘ecs_serializer_t::member(const ecs_serializer_t*&, const char [5]) const’ 58153 | ser->member(ser, "name"); | ~~~~~~~~~~~^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31809:12: note: candidate: ‘int ecs_serializer_t::member(const char*) const’ 31809 | inline int ecs_serializer_t::member(const char *name) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31809:12: note: candidate expects 1 argument, 2 provided ../src/flecs/distr/flecs.c:58154:19: error: no matching function for call to ‘ecs_serializer_t::value(const ecs_serializer_t*&, const ecs_entity_t&, char**) const’ 58154 | ser->value(ser, ecs_id(ecs_string_t), &nullString); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:15304:9: note: candidate: ‘template int ecs_serializer_t::value(const T&) const’ 15304 | int value(const T& value) const; | ^~~~~ ../src/flecs/distr/flecs.h:15304:9: note: template argument deduction/substitution failed: ../src/flecs/distr/flecs.c:58154:19: note: candidate expects 1 argument, 3 provided 58154 | ser->value(ser, ecs_id(ecs_string_t), &nullString); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31799:12: note: candidate: ‘int ecs_serializer_t::value(ecs_entity_t, const void*) const’ 31799 | inline int ecs_serializer_t::value(ecs_entity_t type, const void *v) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31799:12: note: candidate expects 2 arguments, 3 provided ../src/flecs/distr/flecs.c:58155:20: error: no matching function for call to ‘ecs_serializer_t::member(const ecs_serializer_t*&, const char [5]) const’ 58155 | ser->member(ser, "code"); | ~~~~~~~~~~~^~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31809:12: note: candidate: ‘int ecs_serializer_t::member(const char*) const’ 31809 | inline int ecs_serializer_t::member(const char *name) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31809:12: note: candidate expects 1 argument, 2 provided ../src/flecs/distr/flecs.c:58156:19: error: no matching function for call to ‘ecs_serializer_t::value(const ecs_serializer_t*&, const ecs_entity_t&, char**) const’ 58156 | ser->value(ser, ecs_id(ecs_string_t), &nullString); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:15304:9: note: candidate: ‘template int ecs_serializer_t::value(const T&) const’ 15304 | int value(const T& value) const; | ^~~~~ ../src/flecs/distr/flecs.h:15304:9: note: template argument deduction/substitution failed: ../src/flecs/distr/flecs.c:58156:19: note: candidate expects 1 argument, 3 provided 58156 | ser->value(ser, ecs_id(ecs_string_t), &nullString); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31799:12: note: candidate: ‘int ecs_serializer_t::value(ecs_entity_t, const void*) const’ 31799 | inline int ecs_serializer_t::value(ecs_entity_t type, const void *v) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31799:12: note: candidate expects 2 arguments, 3 provided ../src/flecs/distr/flecs.c:58157:20: error: no matching function for call to ‘ecs_serializer_t::member(const ecs_serializer_t*&, const char [4]) const’ 58157 | ser->member(ser, "ast"); | ~~~~~~~~~~~^~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31809:12: note: candidate: ‘int ecs_serializer_t::member(const char*) const’ 31809 | inline int ecs_serializer_t::member(const char *name) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31809:12: note: candidate expects 1 argument, 2 provided ../src/flecs/distr/flecs.c:58158:19: error: no matching function for call to ‘ecs_serializer_t::value(const ecs_serializer_t*&, const ecs_entity_t&, char**) const’ 58158 | ser->value(ser, ecs_id(ecs_string_t), &nullString); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:15304:9: note: candidate: ‘template int ecs_serializer_t::value(const T&) const’ 15304 | int value(const T& value) const; | ^~~~~ ../src/flecs/distr/flecs.h:15304:9: note: template argument deduction/substitution failed: ../src/flecs/distr/flecs.c:58158:19: note: candidate expects 1 argument, 3 provided 58158 | ser->value(ser, ecs_id(ecs_string_t), &nullString); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:31799:12: note: candidate: ‘int ecs_serializer_t::value(ecs_entity_t, const void*) const’ 31799 | inline int ecs_serializer_t::value(ecs_entity_t type, const void *v) const { | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:31799:12: note: candidate expects 2 arguments, 3 provided In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsScriptImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:58181:5: error: designator order for field ‘ecs_type_hooks_t::dtor’ does not match declaration order in ‘ecs_type_hooks_t’ 58181 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:58177:37: error: taking address of rvalue [-fpermissive] 58177 | ecs_set_hooks(world, EcsScript, { | ^ 58178 | .ctor = flecs_default_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58179 | .move = ecs_move(EcsScript), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58180 | .dtor = ecs_dtor(EcsScript) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58181 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:58185:23: error: taking address of rvalue [-fpermissive] 58185 | ecs_struct(world, { | ^ 58186 | .entity = ecs_id(ecs_script_t), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58187 | .members = { | ~~~~~~~~~~~~ 58188 | { .name = "name", .type = ecs_id(ecs_string_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58189 | { .name = "code", .type = ecs_id(ecs_string_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58190 | { .name = "ast", .type = ecs_id(ecs_string_t) } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58191 | } | ~ 58192 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:16127:47: error: expected primary-expression before ‘)’ token 16127 | ecs_opaque_init(world, &(ecs_opaque_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:58194:5: note: in expansion of macro ‘ecs_opaque’ 58194 | ecs_opaque(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_primitive_kind_t flecs_expr_op_to_primitive_kind(ecs_meta_type_op_kind_t)’: ../src/flecs/distr/flecs.c:58243:17: error: invalid conversion from ‘int’ to ‘ecs_primitive_kind_t’ [-fpermissive] 58243 | return kind - EcsOpPrimitive; | ~~~~~^~~~~~~~~~~~~~~~ | | | int ../src/flecs/distr/flecs.c: In function ‘int flecs_expr_ser_enum(const ecs_world_t*, ecs_meta_type_op_t*, const void*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.c:58273:1: error: jump to label ‘error’ 58273 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:58255:5: note: in expansion of macro ‘ecs_check’ 58255 | ecs_check(enum_type != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:58261:26: note: crosses initialization of ‘ecs_enum_constant_t* c’ 58261 | ecs_enum_constant_t *c = ecs_map_get_deref(&enum_type->constants, | ^ ../src/flecs/distr/flecs.c:58257:13: note: crosses initialization of ‘int32_t val’ 58257 | int32_t val = *(const int32_t*)base; | ^~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_expr_ser_bitmask(const ecs_world_t*, ecs_meta_type_op_t*, const void*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_bitmask_constant_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:58296:37: note: in expansion of macro ‘ecs_map_ptr’ 58296 | ecs_bitmask_constant_t *c = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:58322:1: error: jump to label ‘error’ 58322 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:58286:5: note: in expansion of macro ‘ecs_check’ 58286 | ecs_check(bitmask_type != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:58294:9: note: crosses initialization of ‘int count’ 58294 | int count = 0; | ^~~~~ ../src/flecs/distr/flecs.c:58293:20: note: crosses initialization of ‘ecs_map_iter_t it’ 58293 | ecs_map_iter_t it = ecs_map_iter(&bitmask_type->constants); | ^~ ../src/flecs/distr/flecs.c:58287:14: note: crosses initialization of ‘uint32_t value’ 58287 | uint32_t value = *(const uint32_t*)ptr; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘int expr_ser_vector(const ecs_world_t*, ecs_meta_type_op_t*, const void*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.c:58403:30: error: invalid conversion from ‘const void*’ to ‘const ecs_vec_t*’ [-fpermissive] 58403 | const ecs_vec_t *value = base; | ^~~~ | | | const void* ../src/flecs/distr/flecs.c: In function ‘void flecs_script_template_ctor(void*, int32_t, const ecs_type_info_t*)’: ../src/flecs/distr/flecs.c:58678:36: error: invalid conversion from ‘void*’ to ‘ecs_world_t*’ [-fpermissive] 58678 | ecs_world_t *world = ti->hooks.ctx; | ~~~~~~~~~~^~~ | | | void* ../src/flecs/distr/flecs.c:58693:28: error: expected unqualified-id before ‘template’ 58693 | ecs_script_template_t *template = script->template_; | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:58694:16: error: expected primary-expression before ‘template’ 58694 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~ ../src/flecs/distr/flecs.h:10810:11: note: in definition of macro ‘ecs_assert’ 10810 | if (!(condition)) {\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:58694:16: error: expected ‘)’ before ‘template’ 58694 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~ ../src/flecs/distr/flecs.h:10810:11: note: in definition of macro ‘ecs_assert’ 10810 | if (!(condition)) {\ | ^~~~~~~~~ ../src/flecs/distr/flecs.h:10810:10: note: to match this ‘(’ 10810 | if (!(condition)) {\ | ^ ../src/flecs/distr/flecs.c:58694:5: note: in expansion of macro ‘ecs_assert’ 58694 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~~ In file included from ../src/flecs/distr/flecs.h:713, from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:58694:16: error: expected primary-expression before ‘template’ 58694 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~ ../src/flecs/distr/flecs.c:58694:5: note: in expansion of macro ‘ecs_assert’ 58694 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:58694:16: error: expected ‘)’ before ‘template’ 58694 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~ ../src/flecs/distr/flecs.c:58694:5: note: in expansion of macro ‘ecs_assert’ 58694 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:58695:30: error: expected primary-expression before ‘template’ 58695 | if (st->members.count != template->prop_defaults.count) { | ^~~~~~~~ ../src/flecs/distr/flecs.c:58695:29: error: expected ‘)’ before ‘template’ 58695 | if (st->members.count != template->prop_defaults.count) { | ~ ^~~~~~~~~ | ) In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:58697:40: error: expected primary-expression before ‘template’ 58697 | " (%d), cannot construct", template->prop_defaults.count, | ^~~~~~~~ ../src/flecs/distr/flecs.h:10669:60: note: in definition of macro ‘ecs_err_’ 10669 | #define ecs_err_(file, line, ...) ecs_log_(-3, file, line, __VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:58696:9: note: in expansion of macro ‘ecs_err’ 58696 | ecs_err("number of props (%d) of template '%s' does not match members" | ^~~~~~~ ../src/flecs/distr/flecs.c:58702:47: error: invalid conversion from ‘void*’ to ‘const ecs_member_t*’ [-fpermissive] 58702 | const ecs_member_t *members = st->members.array; | ~~~~~~~~~~~~^~~~~ | | | void* ../src/flecs/distr/flecs.c:58704:32: error: expected primary-expression before ‘template’ 58704 | ecs_script_var_t *values = template->prop_defaults.array; | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_script_template_on_set(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:58743:28: error: expected unqualified-id before ‘template’ 58743 | ecs_script_template_t *template = script->template_; | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:58744:16: error: expected primary-expression before ‘template’ 58744 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~ ../src/flecs/distr/flecs.h:10810:11: note: in definition of macro ‘ecs_assert’ 10810 | if (!(condition)) {\ | ^~~~~~~~~ ../src/flecs/distr/flecs.c:58744:16: error: expected ‘)’ before ‘template’ 58744 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~ ../src/flecs/distr/flecs.h:10810:11: note: in definition of macro ‘ecs_assert’ 10810 | if (!(condition)) {\ | ^~~~~~~~~ ../src/flecs/distr/flecs.h:10810:10: note: to match this ‘(’ 10810 | if (!(condition)) {\ | ^ ../src/flecs/distr/flecs.c:58744:5: note: in expansion of macro ‘ecs_assert’ 58744 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~~ In file included from ../src/flecs/distr/flecs.h:713, from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:58744:16: error: expected primary-expression before ‘template’ 58744 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~ ../src/flecs/distr/flecs.c:58744:5: note: in expansion of macro ‘ecs_assert’ 58744 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:58744:16: error: expected ‘)’ before ‘template’ 58744 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~ ../src/flecs/distr/flecs.c:58744:5: note: in expansion of macro ‘ecs_assert’ 58744 | ecs_assert(template != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:58745:33: error: expected primary-expression before ‘template’ 58745 | const ecs_type_info_t *ti = template->type_info; | ^~~~~~~~ ../src/flecs/distr/flecs.c:58753:30: error: expected unqualified-id before ‘using’ 58753 | ecs_vec_t prev_using = v.using; | ^~~~~ ../src/flecs/distr/flecs.c:58754:7: error: expected unqualified-id before ‘using’ 58754 | v.using = template->using_; | ^~~~~ ../src/flecs/distr/flecs.c:58756:33: error: expected primary-expression before ‘template’ 58756 | ecs_script_scope_t *scope = template->node->scope; | ^~~~~~~~ ../src/flecs/distr/flecs.c:58762:20: error: expected primary-expression before ‘template’ 58762 | .pos = template->node->node.pos | ^~~~~~~~ ../src/flecs/distr/flecs.c:58762:20: error: expected ‘}’ before ‘template’ ../src/flecs/distr/flecs.c:58760:17: note: to match this ‘{’ 58760 | .node = { | ^ ../src/flecs/distr/flecs.c:58762:20: error: expected ‘}’ before ‘template’ 58762 | .pos = template->node->node.pos | ^~~~~~~~ ../src/flecs/distr/flecs.c:58759:41: note: to match this ‘{’ 58759 | ecs_script_entity_t instance_node = { | ^ ../src/flecs/distr/flecs.c:58762:20: error: expected ‘,’ or ‘;’ before ‘template’ 58762 | .pos = template->node->node.pos | ^~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:58763:10: error: mixing declarations and function-definitions is forbidden 58763 | }, | ^ ../src/flecs/distr/flecs.c:58764:9: error: expected unqualified-id before ‘.’ token 58764 | .scope = scope | ^ ../src/flecs/distr/flecs.c:58765:5: error: expected declaration before ‘}’ token 58765 | }; | ^ ../src/flecs/distr/flecs.c:58767:5: error: ‘v’ does not name a type 58767 | v.entity = &instance_node; | ^ ../src/flecs/distr/flecs.c:58770:5: error: expected unqualified-id before ‘for’ 58770 | for (i = 0; i < it->count; i ++) { | ^~~ ../src/flecs/distr/flecs.c:58770:17: error: ‘i’ does not name a type 58770 | for (i = 0; i < it->count; i ++) { | ^ ../src/flecs/distr/flecs.c:58770:32: error: ‘i’ does not name a type 58770 | for (i = 0; i < it->count; i ++) { | ^ ../src/flecs/distr/flecs.c:58823:5: error: ‘v’ does not name a type 58823 | v.using = prev_using; | ^ ../src/flecs/distr/flecs.c:58824:33: error: expected constructor, destructor, or type conversion before ‘(’ token 58824 | flecs_script_eval_visit_fini(&v); | ^ ../src/flecs/distr/flecs.c:58825:1: error: expected declaration before ‘}’ token 58825 | } | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_template_eval_prop(ecs_script_eval_visitor_t*, ecs_script_var_node_t*)’: ../src/flecs/distr/flecs.c:58832:28: error: expected unqualified-id before ‘template’ 58832 | ecs_script_template_t *template = v->template; | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:58863:14: error: expected primary-expression before ‘template’ 58863 | &template->prop_defaults, ecs_script_var_t); | ^~~~~~~~ ../src/flecs/distr/flecs.h:865:40: note: in definition of macro ‘ECS_CAST’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^ ../src/flecs/distr/flecs.c:58862:35: note: in expansion of macro ‘ecs_vec_append_t’ 58862 | ecs_script_var_t *value = ecs_vec_append_t(&v->base.script->allocator, | ^~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:9657:47: error: expected primary-expression before ‘)’ token 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:58870:28: note: in expansion of macro ‘ecs_entity’ 58870 | ecs_entity_t mbr = ecs_entity(v->world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:58875:43: error: taking address of rvalue [-fpermissive] 58875 | ecs_set(v->world, mbr, EcsMember, { .type = var->value.type }); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:58931:28: error: expected ‘,’ or ‘...’ before ‘template’ 58931 | ecs_script_template_t *template) | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_template_preprocess(ecs_script_eval_visitor_t*, ecs_script_template_t*)’: ../src/flecs/distr/flecs.c:58934:17: error: expected unqualified-id before ‘=’ token 58934 | v->template = template; | ^ ../src/flecs/distr/flecs.c:58934:19: error: expected primary-expression before ‘template’ 58934 | v->template = template; | ^~~~~~~~ ../src/flecs/distr/flecs.c:58937:44: error: expected primary-expression before ‘template’ 58937 | int result = ecs_script_visit_scope(v, template->node->scope); | ^~~~~~~~ ../src/flecs/distr/flecs.c:4837:59: note: in definition of macro ‘ecs_script_visit_scope’ 4837 | ecs_script_visit_scope_((ecs_script_visit_t*)visitor, node) | ^~~~ ../src/flecs/distr/flecs.c:58940:17: error: expected unqualified-id before ‘=’ token 58940 | v->template = NULL; | ^ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:58947:28: error: expected ‘,’ or ‘...’ before ‘template’ 58947 | ecs_script_template_t *template) | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_script_template_hoist_using(ecs_script_eval_visitor_t*, ecs_script_template_t*)’: ../src/flecs/distr/flecs.c:58951:28: error: expected primary-expression before ‘template’ 58951 | v->allocator, &template->using_, ecs_entity_t)[0] = v->module; | ^~~~~~~~ ../src/flecs/distr/flecs.h:865:40: note: in definition of macro ‘ECS_CAST’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^ ../src/flecs/distr/flecs.c:58950:9: note: in expansion of macro ‘ecs_vec_append_t’ 58950 | ecs_vec_append_t( | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:58954:38: error: expected unqualified-id before ‘using’ 58954 | int i, count = ecs_vec_count(&v->using); | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:58956:41: error: expected primary-expression before ‘template’ 58956 | ecs_vec_append_t(v->allocator, &template->using_, ecs_entity_t)[0] = | ^~~~~~~~ ../src/flecs/distr/flecs.h:865:40: note: in definition of macro ‘ECS_CAST’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^ ../src/flecs/distr/flecs.c:58956:9: note: in expansion of macro ‘ecs_vec_append_t’ 58956 | ecs_vec_append_t(v->allocator, &template->using_, ecs_entity_t)[0] = | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:58957:31: error: expected unqualified-id before ‘using’ 58957 | ecs_vec_get_t(&v->using, ecs_entity_t, i)[0]; | ^~~~~ ../src/flecs/distr/flecs.h:865:40: note: in definition of macro ‘ECS_CAST’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^ ../src/flecs/distr/flecs.c:58957:13: note: in expansion of macro ‘ecs_vec_get_t’ 58957 | ecs_vec_get_t(&v->using, ecs_entity_t, i)[0]; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:58966:28: error: expected ‘,’ or ‘...’ before ‘template’ 58966 | ecs_script_template_t *template, | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_template_hoist_vars(ecs_script_eval_visitor_t*, ecs_script_template_t*)’: ../src/flecs/distr/flecs.c:58969:9: error: ‘vars’ was not declared in this scope 58969 | if (vars->parent) { | ^~~~ ../src/flecs/distr/flecs.c:58970:45: error: expected primary-expression before ‘template’ 58970 | flecs_script_template_hoist_vars(v, template, vars); | ^~~~~~~~ ../src/flecs/distr/flecs.c:58973:39: error: ‘vars’ was not declared in this scope 58973 | int32_t i, count = ecs_vec_count(&vars->vars); | ^~~~ ../src/flecs/distr/flecs.c:58978:13: error: expected primary-expression before ‘template’ 58978 | template->vars, src->name, src->value.type); | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_script_template_t* flecs_script_template_init(ecs_script_impl_t*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_script_template_t*’ [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2002:29: note: in expansion of macro ‘flecs_alloc’ 2002 | #define flecs_alloc_t(a, T) flecs_alloc(a, ECS_SIZEOF(T)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:58990:37: note: in expansion of macro ‘flecs_alloc_t’ 58990 | ecs_script_template_t *result = flecs_alloc_t(a, ecs_script_template_t); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:58999:28: error: expected ‘,’ or ‘...’ before ‘template’ 58999 | ecs_script_template_t *template) | ^~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_script_template_fini(ecs_script_impl_t*, ecs_script_template_t*)’: ../src/flecs/distr/flecs.c:59004:39: error: expected primary-expression before ‘template’ 59004 | int32_t i, count = ecs_vec_count(&template->prop_defaults); | ^~~~~~~~ ../src/flecs/distr/flecs.c:59005:47: error: expected primary-expression before ‘template’ 59005 | ecs_script_var_t *values = ecs_vec_first(&template->prop_defaults); | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:59015:24: error: expected primary-expression before ‘template’ 59015 | ecs_vec_fini_t(a, &template->prop_defaults, ecs_script_var_t); | ^~~~~~~~ ../src/flecs/distr/flecs.h:1111:29: note: in definition of macro ‘ecs_vec_fini_t’ 1111 | ecs_vec_fini(allocator, vec, ECS_SIZEOF(T)) | ^~~ ../src/flecs/distr/flecs.c:59016:24: error: expected primary-expression before ‘template’ 59016 | ecs_vec_fini_t(a, &template->using_, ecs_entity_t); | ^~~~~~~~ ../src/flecs/distr/flecs.h:1111:29: note: in definition of macro ‘ecs_vec_fini_t’ 1111 | ecs_vec_fini(allocator, vec, ECS_SIZEOF(T)) | ^~~ ../src/flecs/distr/flecs.c:59017:26: error: expected primary-expression before ‘template’ 59017 | ecs_script_vars_fini(template->vars); | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:59018:44: error: expected primary-expression before ‘template’ 59018 | flecs_free_t(a, ecs_script_template_t, template); | ^~~~~~~~ ../src/flecs/distr/flecs.h:2012:29: note: in definition of macro ‘flecs_free_t’ 2012 | flecs_bfree_w_dbg_info((ptr) ? flecs_allocator_get(a, ECS_SIZEOF(T)) : NULL, ptr, #T) | ^~~ ../src/flecs/distr/flecs.c:59018:44: error: expected ‘)’ before ‘template’ 59018 | flecs_free_t(a, ecs_script_template_t, template); | ^~~~~~~~ ../src/flecs/distr/flecs.h:2012:29: note: in definition of macro ‘flecs_free_t’ 2012 | flecs_bfree_w_dbg_info((ptr) ? flecs_allocator_get(a, ECS_SIZEOF(T)) : NULL, ptr, #T) | ^~~ ../src/flecs/distr/flecs.h:2012:28: note: to match this ‘(’ 2012 | flecs_bfree_w_dbg_info((ptr) ? flecs_allocator_get(a, ECS_SIZEOF(T)) : NULL, ptr, #T) | ^ ../src/flecs/distr/flecs.c:59018:5: note: in expansion of macro ‘flecs_free_t’ 59018 | flecs_free_t(a, ecs_script_template_t, template); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_template(ecs_script_eval_visitor_t*, ecs_script_template_node_t*)’: ../src/flecs/distr/flecs.c:59026:20: error: expected unqualified-id before ‘)’ token 59026 | if (v->template) { | ^ ../src/flecs/distr/flecs.c:59036:28: error: expected unqualified-id before ‘template’ 59036 | ecs_script_template_t *template = flecs_script_template_init(v->base.script); | ^~~~~~~~ ../src/flecs/distr/flecs.c:59037:5: error: expected primary-expression before ‘template’ 59037 | template->entity = template_entity; | ^~~~~~~~ ../src/flecs/distr/flecs.c:59038:5: error: expected primary-expression before ‘template’ 59038 | template->node = node; | ^~~~~~~~ ../src/flecs/distr/flecs.c:59040:45: error: expected primary-expression before ‘template’ 59040 | if (flecs_script_template_preprocess(v, template)) { | ^~~~~~~~ ../src/flecs/distr/flecs.c:59044:46: error: expected primary-expression before ‘template’ 59044 | if (flecs_script_template_hoist_using(v, template)) { | ^~~~~~~~ ../src/flecs/distr/flecs.c:59048:45: error: expected primary-expression before ‘template’ 59048 | if (flecs_script_template_hoist_vars(v, template, v->vars)) { | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:59055:58: error: taking address of rvalue [-fpermissive] 59055 | ecs_set(v->world, template_entity, EcsComponent, {1, 1}); | ^~~~~~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:59058:5: error: expected primary-expression before ‘template’ 59058 | template->type_info = ecs_get_type_info(v->world, template_entity); | ^~~~~~~~ ../src/flecs/distr/flecs.c:59072:25: error: expected primary-expression before ‘template’ 59072 | script->template_ = template; | ^~~~~~~~ ../src/flecs/distr/flecs.c:59075:69: error: taking address of rvalue [-fpermissive] 59075 | ecs_set_hooks_id(v->world, template_entity, &(ecs_type_hooks_t) { | ^ 59076 | .ctor = flecs_script_template_ctor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 59077 | .on_set = flecs_script_template_on_set, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 59078 | .ctx = v->world | ~~~~~~~~~~~~~~~ 59079 | }); | ~ ../src/flecs/distr/flecs.c:59085:1: error: jump to label ‘error’ 59085 | error: | ^~~~~ ../src/flecs/distr/flecs.c:59049:14: note: from here 59049 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:59062:16: note: crosses initialization of ‘EcsScript* script’ 59062 | EcsScript *script = ecs_ensure(v->world, template_entity, EcsScript); | ^~~~~~ ../src/flecs/distr/flecs.c:59085:1: error: jump to label ‘error’ 59085 | error: | ^~~~~ ../src/flecs/distr/flecs.c:59045:14: note: from here 59045 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:59062:16: note: crosses initialization of ‘EcsScript* script’ 59062 | EcsScript *script = ecs_ensure(v->world, template_entity, EcsScript); | ^~~~~~ ../src/flecs/distr/flecs.c:59085:1: error: jump to label ‘error’ 59085 | error: | ^~~~~ ../src/flecs/distr/flecs.c:59041:14: note: from here 59041 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:59062:16: note: crosses initialization of ‘EcsScript* script’ 59062 | EcsScript *script = ecs_ensure(v->world, template_entity, EcsScript); | ^~~~~~ ../src/flecs/distr/flecs.c:59086:48: error: expected primary-expression before ‘template’ 59086 | flecs_script_template_fini(v->base.script, template); | ^~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_script_vars_t* flecs_script_vars_push(ecs_script_vars_t*, ecs_stack_t*, ecs_allocator_t*)’: ../src/flecs/distr/flecs.h:1647:23: error: invalid conversion from ‘void*’ to ‘ecs_script_vars_t*’ [-fpermissive] 1647 | flecs_stack_calloc(stack, ECS_SIZEOF(T), ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:59654:33: note: in expansion of macro ‘flecs_stack_calloc_t’ 59654 | ecs_script_vars_t *result = flecs_stack_calloc_t(stack, ecs_script_vars_t); | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:59664:1: error: jump to label ‘error’ 59664 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:59649:9: note: in expansion of macro ‘ecs_check’ 59649 | ecs_check(allocator == parent->allocator, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:59654:24: note: crosses initialization of ‘ecs_script_vars_t* result’ 59654 | ecs_script_vars_t *result = flecs_stack_calloc_t(stack, ecs_script_vars_t); | ^~~~~~ ../src/flecs/distr/flecs.c:59653:25: note: crosses initialization of ‘ecs_stack_cursor_t* cursor’ 59653 | ecs_stack_cursor_t *cursor = flecs_stack_get_cursor(stack); | ^~~~~~ ../src/flecs/distr/flecs.c:59664:1: error: jump to label ‘error’ 59664 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:59643:9: note: in expansion of macro ‘ecs_check’ 59643 | ecs_check(stack == parent->stack, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:59654:24: note: crosses initialization of ‘ecs_script_vars_t* result’ 59654 | ecs_script_vars_t *result = flecs_stack_calloc_t(stack, ecs_script_vars_t); | ^~~~~~ ../src/flecs/distr/flecs.c:59653:25: note: crosses initialization of ‘ecs_stack_cursor_t* cursor’ 59653 | ecs_stack_cursor_t *cursor = flecs_stack_get_cursor(stack); | ^~~~~~ ../src/flecs/distr/flecs.c:59664:1: error: jump to label ‘error’ 59664 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:59637:5: note: in expansion of macro ‘ecs_check’ 59637 | ecs_check(allocator || parent, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:59654:24: note: crosses initialization of ‘ecs_script_vars_t* result’ 59654 | ecs_script_vars_t *result = flecs_stack_calloc_t(stack, ecs_script_vars_t); | ^~~~~~ ../src/flecs/distr/flecs.c:59653:25: note: crosses initialization of ‘ecs_stack_cursor_t* cursor’ 59653 | ecs_stack_cursor_t *cursor = flecs_stack_get_cursor(stack); | ^~~~~~ ../src/flecs/distr/flecs.c:59664:1: error: jump to label ‘error’ 59664 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:59635:5: note: in expansion of macro ‘ecs_check’ 59635 | ecs_check(stack || parent, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:59654:24: note: crosses initialization of ‘ecs_script_vars_t* result’ 59654 | ecs_script_vars_t *result = flecs_stack_calloc_t(stack, ecs_script_vars_t); | ^~~~~~ ../src/flecs/distr/flecs.c:59653:25: note: crosses initialization of ‘ecs_stack_cursor_t* cursor’ 59653 | ecs_stack_cursor_t *cursor = flecs_stack_get_cursor(stack); | ^~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_script_vars_t* ecs_script_vars_push(ecs_script_vars_t*)’: ../src/flecs/distr/flecs.c:59697:1: error: jump to label ‘error’ 59697 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:59691:5: note: in expansion of macro ‘ecs_check’ 59691 | ecs_check(parent != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:59693:22: note: crosses initialization of ‘ecs_allocator_t* allocator’ 59693 | ecs_allocator_t *allocator = parent->allocator; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:59692:18: note: crosses initialization of ‘ecs_stack_t* stack’ 59692 | ecs_stack_t *stack = parent->stack; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_script_vars_t* ecs_script_vars_pop(ecs_script_vars_t*)’: ../src/flecs/distr/flecs.c:59708:52: error: invalid conversion from ‘void*’ to ‘ecs_script_var_t*’ [-fpermissive] 59708 | ecs_script_var_t *var_array = ecs_vec_first(&vars->vars); | ~~~~~~~~~~~~~^~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_script_var_t* ecs_script_vars_declare(ecs_script_vars_t*, const char*)’: ../src/flecs/distr/flecs.c:59753:1: error: jump to label ‘error’ 59753 | error: | ^~~~~ ../src/flecs/distr/flecs.c:59738:18: note: from here 59738 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:59742:23: note: crosses initialization of ‘ecs_script_var_t* var’ 59742 | ecs_script_var_t *var = ecs_vec_append_t( | ^~~ ../src/flecs/distr/flecs.c: In function ‘ecs_script_var_t* ecs_script_vars_define_id(ecs_script_vars_t*, const char*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:59783:1: error: jump to label ‘error’ 59783 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:59766:5: note: in expansion of macro ‘ecs_check’ 59766 | ecs_check(ti != NULL, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:59769:23: note: crosses initialization of ‘ecs_script_var_t* result’ 59769 | ecs_script_var_t *result = ecs_script_vars_declare(vars, name); | ^~~~~~ ../src/flecs/distr/flecs.c:59783:1: error: jump to label ‘error’ 59783 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:59762:5: note: in expansion of macro ‘ecs_check’ 59762 | ecs_check(vars->world != NULL, ECS_INVALID_OPERATION, "variable scope is " | ^~~~~~~~~ ../src/flecs/distr/flecs.c:59769:23: note: crosses initialization of ‘ecs_script_var_t* result’ 59769 | ecs_script_var_t *result = ecs_script_vars_declare(vars, name); | ^~~~~~ ../src/flecs/distr/flecs.c:59765:28: note: crosses initialization of ‘const ecs_type_info_t* ti’ 59765 | const ecs_type_info_t *ti = ecs_get_type_info(vars->world, type); | ^~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t flecs_script_find_entity(ecs_script_eval_visitor_t*, ecs_entity_t, const char*)’: ../src/flecs/distr/flecs.c:60215:52: error: expected unqualified-id before ‘using’ 60215 | int32_t i, using_count = ecs_vec_count(&v->using); | ^~~~~ ../src/flecs/distr/flecs.c:60217:27: error: expected unqualified-id before ‘using’ 60217 | ecs_entity_t *using = ecs_vec_first(&v->using); | ^~~~~ ../src/flecs/distr/flecs.c:60220:31: error: expected primary-expression before ‘using’ 60220 | v->world, using[i], path, NULL, NULL, false); | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t flecs_script_find_entity_action(const ecs_world_t*, const char*, void*)’: ../src/flecs/distr/flecs.c:60255:36: error: invalid conversion from ‘void*’ to ‘ecs_script_eval_visitor_t*’ [-fpermissive] 60255 | ecs_script_eval_visitor_t *v = ctx; | ^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘int flecs_script_find_template_entity(ecs_script_eval_visitor_t*, const char*)’: ../src/flecs/distr/flecs.c:60265:43: error: expected unqualified-id before ‘;’ token 60265 | ecs_script_template_t *t = v->template; | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_id(ecs_script_eval_visitor_t*, void*, ecs_script_id_t*)’: ../src/flecs/distr/flecs.c:60298:20: error: expected unqualified-id before ‘)’ token 60298 | if (v->template) { | ^ ../src/flecs/distr/flecs.c:60334:28: error: expected unqualified-id before ‘)’ token 60334 | if (v->template) { | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_scope(ecs_script_eval_visitor_t*, ecs_script_scope_t*)’: ../src/flecs/distr/flecs.c:60406:50: error: expected unqualified-id before ‘using’ 60406 | int32_t prev_using_count = ecs_vec_count(&v->using); | ^~~~~ ../src/flecs/distr/flecs.c:60419:25: error: expected unqualified-id before ‘)’ token 60419 | if (!v->template) { | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:60426:32: error: expected unqualified-id before ‘using’ 60426 | ecs_vec_set_count_t(a, &v->using, ecs_entity_t, prev_using_count); | ^~~~~ ../src/flecs/distr/flecs.h:1223:34: note: in definition of macro ‘ecs_vec_set_count_t’ 1223 | ecs_vec_set_count(allocator, vec, ECS_SIZEOF(T), elem_count) | ^~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_entity(ecs_script_eval_visitor_t*, ecs_script_entity_t*)’: ../src/flecs/distr/flecs.c:60490:20: error: expected unqualified-id before ‘)’ token 60490 | if (v->template) { | ^ ../src/flecs/distr/flecs.c:60535:52: error: invalid conversion from ‘void*’ to ‘ecs_script_annot_t**’ [-fpermissive] 60535 | ecs_script_annot_t **annots = ecs_vec_first(&v->annot); | ~~~~~~~~~~~~~^~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_tag(ecs_script_eval_visitor_t*, ecs_script_tag_t*)’: ../src/flecs/distr/flecs.c:60584:20: error: expected unqualified-id before ‘)’ token 60584 | if (v->template) { | ^ ../src/flecs/distr/flecs.c:60600:20: error: expected unqualified-id before ‘)’ token 60600 | if (v->template) { | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_component(ecs_script_eval_visitor_t*, ecs_script_component_t*)’: ../src/flecs/distr/flecs.c:60620:20: error: expected unqualified-id before ‘)’ token 60620 | if (v->template) { | ^ ../src/flecs/distr/flecs.c:60635:20: error: expected unqualified-id before ‘)’ token 60635 | if (v->template) { | ^ ../src/flecs/distr/flecs.c:60684:9: error: designator order for field ‘ecs_value_t::type’ does not match declaration order in ‘ecs_value_t’ 60684 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_var_component(ecs_script_eval_visitor_t*, ecs_script_var_component_t*)’: ../src/flecs/distr/flecs.c:60723:20: error: expected unqualified-id before ‘)’ token 60723 | if (v->template) { | ^ ../src/flecs/distr/flecs.c:60739:9: error: designator order for field ‘ecs_value_t::type’ does not match declaration order in ‘ecs_value_t’ 60739 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_default_component(ecs_script_eval_visitor_t*, ecs_script_default_component_t*)’: ../src/flecs/distr/flecs.c:60762:20: error: expected unqualified-id before ‘)’ token 60762 | if (v->template) { | ^ ../src/flecs/distr/flecs.c:60798:5: error: designator order for field ‘ecs_value_t::type’ does not match declaration order in ‘ecs_value_t’ 60798 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_with_var(ecs_script_eval_visitor_t*, ecs_script_var_node_t*)’: ../src/flecs/distr/flecs.c:60821:20: error: expected unqualified-id before ‘)’ token 60821 | if (v->template) { | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_with_tag(ecs_script_eval_visitor_t*, ecs_script_tag_t*)’: ../src/flecs/distr/flecs.c:60841:20: error: expected unqualified-id before ‘)’ token 60841 | if (v->template) { | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_with_component(ecs_script_eval_visitor_t*, ecs_script_component_t*)’: ../src/flecs/distr/flecs.c:60862:20: error: expected unqualified-id before ‘)’ token 60862 | if (v->template) { | ^ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_with(ecs_script_eval_visitor_t*, ecs_script_with_t*)’: ../src/flecs/distr/flecs.c:60923:1: error: jump to label ‘error’ 60923 | error: | ^~~~~ ../src/flecs/distr/flecs.c:60908:14: note: from here 60908 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:60911:18: note: crosses initialization of ‘ecs_value_t* value’ 60911 | ecs_value_t *value = flecs_script_with_last(v); | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_script_eval_using(ecs_script_eval_visitor_t*, ecs_script_using_t*)’: ../src/flecs/distr/flecs.c:60955:28: error: expected unqualified-id before ‘using’ 60955 | a, &v->using, ecs_entity_t)[0] = it.entities[i]; | ^~~~~ ../src/flecs/distr/flecs.h:865:40: note: in definition of macro ‘ECS_CAST’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^ ../src/flecs/distr/flecs.c:60954:17: note: in expansion of macro ‘ecs_vec_append_t’ 60954 | ecs_vec_append_t( | ^~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:60964:41: error: taking address of rvalue [-fpermissive] 60964 | from = ecs_entity(v->world, { | ^ 60965 | .name = node->name, | ~~~~~~~~~~~~~~~~~~~ 60966 | .root_sep = "" | ~~~~~~~~~~~~~~ 60967 | }); | ~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c:60974:33: error: expected unqualified-id before ‘using’ 60974 | ecs_vec_append_t(a, &v->using, ecs_entity_t)[0] = from; | ^~~~~ ../src/flecs/distr/flecs.h:865:40: note: in definition of macro ‘ECS_CAST’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^ ../src/flecs/distr/flecs.c:60974:9: note: in expansion of macro ‘ecs_vec_append_t’ 60974 | ecs_vec_append_t(a, &v->using, ecs_entity_t)[0] = from; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_script_eval_visit_init(ecs_script_impl_t*, ecs_script_eval_visitor_t*)’: ../src/flecs/distr/flecs.c:61261:38: error: expected unqualified-id before ‘using’ 61261 | ecs_vec_init_t(v->allocator, &v->using, ecs_entity_t, 0); | ^~~~~ ../src/flecs/distr/flecs.h:1094:29: note: in definition of macro ‘ecs_vec_init_t’ 1094 | ecs_vec_init(allocator, vec, ECS_SIZEOF(T), elem_count) | ^~~ ../src/flecs/distr/flecs.c:61267:40: error: expected unqualified-id before ‘using’ 61267 | ecs_vec_append_t(v->allocator, &v->using, ecs_entity_t)[0] = | ^~~~~ ../src/flecs/distr/flecs.h:865:40: note: in definition of macro ‘ECS_CAST’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^ ../src/flecs/distr/flecs.c:61267:5: note: in expansion of macro ‘ecs_vec_append_t’ 61267 | ecs_vec_append_t(v->allocator, &v->using, ecs_entity_t)[0] = | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_script_eval_visit_fini(ecs_script_eval_visitor_t*)’: ../src/flecs/distr/flecs.c:61277:38: error: expected unqualified-id before ‘using’ 61277 | ecs_vec_fini_t(v->allocator, &v->using, ecs_entity_t); | ^~~~~ ../src/flecs/distr/flecs.h:1111:29: note: in definition of macro ‘ecs_vec_fini_t’ 1111 | ecs_vec_fini(allocator, vec, ECS_SIZEOF(T)) | ^~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_script_visit_free(ecs_script_t*)’: ../src/flecs/distr/flecs.c:61438:1: error: jump to label ‘error’ 61438 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:61426:5: note: in expansion of macro ‘ecs_check’ 61426 | ecs_check(script != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:61427:24: note: crosses initialization of ‘ecs_script_visit_t v’ 61427 | ecs_script_visit_t v = { | ^ ../src/flecs/distr/flecs.c: In function ‘int ecs_script_ast_to_buf(ecs_script_t*, ecs_strbuf_t*)’: ../src/flecs/distr/flecs.c:61840:1: error: jump to label ‘error’ 61840 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:61833:5: note: in expansion of macro ‘ecs_check’ 61833 | ecs_check(buf != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:61834:30: note: crosses initialization of ‘ecs_script_str_visitor_t v’ 61834 | ecs_script_str_visitor_t v = { .buf = buf }; | ^ ../src/flecs/distr/flecs.c:61840:1: error: jump to label ‘error’ 61840 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:61832:5: note: in expansion of macro ‘ecs_check’ 61832 | ecs_check(script != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:61834:30: note: crosses initialization of ‘ecs_script_str_visitor_t v’ 61834 | ecs_script_str_visitor_t v = { .buf = buf }; | ^ ../src/flecs/distr/flecs.c: In function ‘char* ecs_script_ast_to_str(ecs_script_t*)’: ../src/flecs/distr/flecs.c:61855:1: error: jump to label ‘error’ 61855 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:61848:5: note: in expansion of macro ‘ecs_check’ 61848 | ecs_check(script != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:61849:18: note: crosses initialization of ‘ecs_strbuf_t buf’ 61849 | ecs_strbuf_t buf = ECS_STRBUF_INIT; | ^~~ ../src/flecs/distr/flecs.c: In function ‘void MonitorStats(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:61944:40: error: invalid conversion from ‘void*’ to ‘ecs_monitor_stats_ctx_t*’ [-fpermissive] 61944 | ecs_monitor_stats_ctx_t *ctx = it->ctx; | ~~~~^~~ | | | void* ../src/flecs/distr/flecs.c:61946:43: error: invalid conversion from ‘void*’ to ‘EcsStatsHeader*’ [-fpermissive] 61946 | EcsStatsHeader *hdr = ecs_field_w_size(it, 0, 0); | ~~~~~~~~~~~~~~~~^~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_map_t*’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3946:28: note: in expansion of macro ‘ECS_OFFSET’ 3946 | #define ECS_OFFSET_T(o, T) ECS_OFFSET(o, ECS_SIZEOF(T)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:61969:21: note: in expansion of macro ‘ECS_OFFSET_T’ 61969 | stats_map = ECS_OFFSET_T(hdr, EcsStatsHeader); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ReduceStats(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:62034:39: error: invalid conversion from ‘void*’ to ‘ecs_reduce_stats_ctx_t*’ [-fpermissive] 62034 | ecs_reduce_stats_ctx_t *ctx = it->ctx; | ~~~~^~~ | | | void* ../src/flecs/distr/flecs.c:62045:43: error: invalid conversion from ‘void*’ to ‘const ecs_map_t*’ [-fpermissive] 62045 | ecs_map_iter_t mit = ecs_map_iter(src); | ^~~ | | | void* ../src/flecs/distr/flecs.c:29702:22: note: initializing argument 1 of ‘ecs_map_iter_t ecs_map_iter(const ecs_map_t*)’ 29702 | const ecs_map_t *map) | ~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:62049:17: error: invalid conversion from ‘void*’ to ‘ecs_map_t*’ [-fpermissive] 62049 | dst, ctx->api.stats_size, ecs_map_key(&mit)); | ^~~ | | | void* ../src/flecs/distr/flecs.c:29651:16: note: initializing argument 1 of ‘void* ecs_map_ensure_alloc(ecs_map_t*, ecs_size_t, ecs_map_key_t)’ 29651 | ecs_map_t *map, | ~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void AggregateStats(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:62057:42: error: invalid conversion from ‘void*’ to ‘ecs_aggregate_stats_ctx_t*’ [-fpermissive] 62057 | ecs_aggregate_stats_ctx_t *ctx = it->ctx; | ~~~~^~~ | | | void* ../src/flecs/distr/flecs.c:62060:47: error: invalid conversion from ‘void*’ to ‘EcsStatsHeader*’ [-fpermissive] 62060 | EcsStatsHeader *dst_hdr = ecs_field_w_size(it, 0, 0); | ~~~~~~~~~~~~~~~~^~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:62061:47: error: invalid conversion from ‘void*’ to ‘EcsStatsHeader*’ [-fpermissive] 62061 | EcsStatsHeader *src_hdr = ecs_field_w_size(it, 0, 1); | ~~~~~~~~~~~~~~~~^~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:62079:28: error: invalid conversion from ‘void*’ to ‘const ecs_map_t*’ [-fpermissive] 62079 | mit = ecs_map_iter(src_map); | ^~~~~~~ | | | void* ../src/flecs/distr/flecs.c:29702:22: note: initializing argument 1 of ‘ecs_map_iter_t ecs_map_iter(const ecs_map_t*)’ 29702 | const ecs_map_t *map) | ~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:62090:17: error: invalid conversion from ‘void*’ to ‘ecs_map_t*’ [-fpermissive] 62090 | dst_map, ctx->api.stats_size, ecs_map_key(&mit)); | ^~~~~~~ | | | void* ../src/flecs/distr/flecs.c:29651:16: note: initializing argument 1 of ‘void* ecs_map_ensure_alloc(ecs_map_t*, ecs_size_t, ecs_map_key_t)’ 29651 | ecs_map_t *map, | ~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_monitor_ctx_free(void*)’: ../src/flecs/distr/flecs.c:62127:36: error: invalid conversion from ‘void*’ to ‘ecs_monitor_stats_ctx_t*’ [-fpermissive] 62127 | ecs_monitor_stats_ctx_t *ctx = ptr; | ^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_stats_api_import(ecs_world_t*, ecs_stats_api_t*)’: ../src/flecs/distr/flecs.c:62157:30: error: taking address of rvalue [-fpermissive] 62157 | q = ecs_query(world, { | ^ 62158 | .terms = {{ .id = api->query_component_id }}, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62159 | .cache_kind = EcsQueryCacheNone, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62160 | .flags = EcsQueryMatchDisabled | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62161 | }); | ~ ../src/flecs/distr/flecs.h:9700:47: note: in definition of macro ‘ecs_query’ 9700 | ecs_query_init(world, &(ecs_query_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62171:23: note: in expansion of macro ‘ecs_entity’ 62171 | .entity = ecs_entity(world, { .name = "Monitor1s", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:62171:71: note: in expansion of macro ‘ecs_ids’ 62171 | .entity = ecs_entity(world, { .name = "Monitor1s", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:62170:9: note: in expansion of macro ‘ecs_system’ 62170 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62189:23: note: in expansion of macro ‘ecs_entity’ 62189 | .entity = ecs_entity(world, { .name = "Monitor1m", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:62189:71: note: in expansion of macro ‘ecs_ids’ 62189 | .entity = ecs_entity(world, { .name = "Monitor1m", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:62188:16: note: in expansion of macro ‘ecs_system’ 62188 | mw1m = ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62210:23: note: in expansion of macro ‘ecs_entity’ 62210 | .entity = ecs_entity(world, { .name = "Monitor1h", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:62210:71: note: in expansion of macro ‘ecs_ids’ 62210 | .entity = ecs_entity(world, { .name = "Monitor1h", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:62209:9: note: in expansion of macro ‘ecs_system’ 62209 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62233:23: note: in expansion of macro ‘ecs_entity’ 62233 | .entity = ecs_entity(world, { .name = "Monitor1d", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:62233:71: note: in expansion of macro ‘ecs_ids’ 62233 | .entity = ecs_entity(world, { .name = "Monitor1d", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:62232:9: note: in expansion of macro ‘ecs_system’ 62232 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62256:23: note: in expansion of macro ‘ecs_entity’ 62256 | .entity = ecs_entity(world, { .name = "Monitor1w", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:62256:71: note: in expansion of macro ‘ecs_ids’ 62256 | .entity = ecs_entity(world, { .name = "Monitor1w", .add = ecs_ids(ecs_dependson(EcsPreFrame)) }), | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:62255:9: note: in expansion of macro ‘ecs_system’ 62255 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void FlecsStatsImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:62301:37: error: taking address of rvalue [-fpermissive] 62301 | EcsPeriod1s = ecs_entity(world, { .name = "EcsPeriod1s" }); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62302:37: error: taking address of rvalue [-fpermissive] 62302 | EcsPeriod1m = ecs_entity(world, { .name = "EcsPeriod1m" }); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62303:37: error: taking address of rvalue [-fpermissive] 62303 | EcsPeriod1h = ecs_entity(world, { .name = "EcsPeriod1h" }); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62304:37: error: taking address of rvalue [-fpermissive] 62304 | EcsPeriod1d = ecs_entity(world, { .name = "EcsPeriod1d" }); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62305:37: error: taking address of rvalue [-fpermissive] 62305 | EcsPeriod1w = ecs_entity(world, { .name = "EcsPeriod1w" }); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_pipeline_monitor_dtor(EcsPipelineStats*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_pipeline_stats_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62334:39: note: in expansion of macro ‘ecs_map_ptr’ 62334 | ecs_pipeline_stats_t *stats = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_pipeline_stats_copy_last(void*, void*)’: ../src/flecs/distr/flecs.c:62377:34: error: invalid conversion from ‘void*’ to ‘ecs_pipeline_stats_t*’ [-fpermissive] 62377 | ecs_pipeline_stats_copy_last(stats, src); | ^~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12820:27: note: initializing argument 1 of ‘void ecs_pipeline_stats_copy_last(ecs_pipeline_stats_t*, const ecs_pipeline_stats_t*)’ 12820 | ecs_pipeline_stats_t *dst, | ~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:62377:41: error: invalid conversion from ‘void*’ to ‘const ecs_pipeline_stats_t*’ [-fpermissive] 62377 | ecs_pipeline_stats_copy_last(stats, src); | ^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12821:33: note: initializing argument 2 of ‘void ecs_pipeline_stats_copy_last(ecs_pipeline_stats_t*, const ecs_pipeline_stats_t*)’ 12821 | const ecs_pipeline_stats_t *src); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_pipeline_stats_get(ecs_world_t*, ecs_entity_t, void*)’: ../src/flecs/distr/flecs.c:62386:40: error: invalid conversion from ‘void*’ to ‘ecs_pipeline_stats_t*’ [-fpermissive] 62386 | ecs_pipeline_stats_get(world, res, stats); | ^~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12783:27: note: initializing argument 3 of ‘bool ecs_pipeline_stats_get(ecs_world_t*, ecs_entity_t, ecs_pipeline_stats_t*)’ 12783 | ecs_pipeline_stats_t *stats); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_pipeline_stats_reduce(void*, void*)’: ../src/flecs/distr/flecs.c:62394:31: error: invalid conversion from ‘void*’ to ‘ecs_pipeline_stats_t*’ [-fpermissive] 62394 | ecs_pipeline_stats_reduce(stats, src); | ^~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12796:27: note: initializing argument 1 of ‘void ecs_pipeline_stats_reduce(ecs_pipeline_stats_t*, const ecs_pipeline_stats_t*)’ 12796 | ecs_pipeline_stats_t *dst, | ~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:62394:38: error: invalid conversion from ‘void*’ to ‘const ecs_pipeline_stats_t*’ [-fpermissive] 62394 | ecs_pipeline_stats_reduce(stats, src); | ^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12797:33: note: initializing argument 2 of ‘void ecs_pipeline_stats_reduce(ecs_pipeline_stats_t*, const ecs_pipeline_stats_t*)’ 12797 | const ecs_pipeline_stats_t *src); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_pipeline_stats_reduce_last(void*, void*, int32_t)’: ../src/flecs/distr/flecs.c:62403:36: error: invalid conversion from ‘void*’ to ‘ecs_pipeline_stats_t*’ [-fpermissive] 62403 | ecs_pipeline_stats_reduce_last(stats, last, reduce_count); | ^~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12802:27: note: initializing argument 1 of ‘void ecs_pipeline_stats_reduce_last(ecs_pipeline_stats_t*, const ecs_pipeline_stats_t*, int32_t)’ 12802 | ecs_pipeline_stats_t *stats, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~ ../src/flecs/distr/flecs.c:62403:43: error: invalid conversion from ‘void*’ to ‘const ecs_pipeline_stats_t*’ [-fpermissive] 62403 | ecs_pipeline_stats_reduce_last(stats, last, reduce_count); | ^~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12803:33: note: initializing argument 2 of ‘void ecs_pipeline_stats_reduce_last(ecs_pipeline_stats_t*, const ecs_pipeline_stats_t*, int32_t)’ 12803 | const ecs_pipeline_stats_t *old, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_pipeline_stats_repeat_last(void*)’: ../src/flecs/distr/flecs.c:62410:36: error: invalid conversion from ‘void*’ to ‘ecs_pipeline_stats_t*’ [-fpermissive] 62410 | ecs_pipeline_stats_repeat_last(stats); | ^~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12809:27: note: initializing argument 1 of ‘void ecs_pipeline_stats_repeat_last(ecs_pipeline_stats_t*)’ 12809 | ecs_pipeline_stats_t *stats); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_pipeline_stats_fini(void*)’: ../src/flecs/distr/flecs.c:62417:29: error: invalid conversion from ‘void*’ to ‘ecs_pipeline_stats_t*’ [-fpermissive] 62417 | ecs_pipeline_stats_fini(stats); | ^~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:12791:27: note: initializing argument 1 of ‘void ecs_pipeline_stats_fini(ecs_pipeline_stats_t*)’ 12791 | ecs_pipeline_stats_t *stats); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~ ../src/flecs/distr/flecs.c: In function ‘void FlecsPipelineMonitorImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:62430:5: error: designator order for field ‘ecs_type_hooks_t::dtor’ does not match declaration order in ‘ecs_type_hooks_t’ 62430 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62425:44: error: taking address of rvalue [-fpermissive] 62425 | ecs_set_hooks(world, EcsPipelineStats, { | ^ 62426 | .ctor = ecs_ctor(EcsPipelineStats), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62427 | .copy = ecs_copy(EcsPipelineStats), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62428 | .move = ecs_move(EcsPipelineStats), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62429 | .dtor = ecs_dtor(EcsPipelineStats) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62430 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_metric_reduce(ecs_metric_t*, const ecs_metric_t*, int32_t, int32_t)’: ../src/flecs/distr/flecs.c:62572:1: error: jump to label ‘error’ 62572 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62547:5: note: in expansion of macro ‘ecs_check’ 62547 | ecs_check(src != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62554:17: note: crosses initialization of ‘float fwindow’ 62554 | ecs_float_t fwindow = (ecs_float_t)ECS_STAT_WINDOW; | ^~~~~~~ ../src/flecs/distr/flecs.c:62549:10: note: crosses initialization of ‘bool min_set’ 62549 | bool min_set = false; | ^~~~~~~ ../src/flecs/distr/flecs.c:62572:1: error: jump to label ‘error’ 62572 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62546:5: note: in expansion of macro ‘ecs_check’ 62546 | ecs_check(dst != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62554:17: note: crosses initialization of ‘float fwindow’ 62554 | ecs_float_t fwindow = (ecs_float_t)ECS_STAT_WINDOW; | ^~~~~~~ ../src/flecs/distr/flecs.c:62549:10: note: crosses initialization of ‘bool min_set’ 62549 | bool min_set = false; | ^~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void ecs_metric_reduce_last(ecs_metric_t*, int32_t, int32_t)’: ../src/flecs/distr/flecs.c:62602:1: error: jump to label ‘error’ 62602 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62581:5: note: in expansion of macro ‘ecs_check’ 62581 | ecs_check(m != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62594:17: note: crosses initialization of ‘float next’ 62594 | ecs_float_t next = m->gauge.avg[t]; | ^~~~ ../src/flecs/distr/flecs.c:62593:17: note: crosses initialization of ‘float cur’ 62593 | ecs_float_t cur = m->gauge.avg[prev]; | ^~~ ../src/flecs/distr/flecs.c:62592:17: note: crosses initialization of ‘float fcount’ 62592 | ecs_float_t fcount = (ecs_float_t)(count + 1); | ^~~~~~ ../src/flecs/distr/flecs.c:62582:13: note: crosses initialization of ‘int32_t t’ 62582 | int32_t t = t_next(prev); | ^ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void ecs_world_stats_get(const ecs_world_t*, ecs_world_stats_t*)’: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:62715:9: note: in expansion of macro ‘ECS_NEQZERO’ 62715 | if (ECS_NEQZERO(delta_world_time) && ECS_NEQZERO(delta_frame_count)) { | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:62715:42: note: in expansion of macro ‘ECS_NEQZERO’ 62715 | if (ECS_NEQZERO(delta_world_time) && ECS_NEQZERO(delta_frame_count)) { | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:62782:1: error: jump to label ‘error’ 62782 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62691:5: note: in expansion of macro ‘ecs_check’ 62691 | ecs_check(s != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62753:13: note: crosses initialization of ‘int64_t outstanding_allocs’ 62753 | int64_t outstanding_allocs = ecs_os_api_malloc_count + | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62706:12: note: crosses initialization of ‘double delta_world_time’ 62706 | double delta_world_time = | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62697:12: note: crosses initialization of ‘double delta_frame_count’ 62697 | double delta_frame_count = | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62695:13: note: crosses initialization of ‘int32_t t’ 62695 | int32_t t = s->t = t_next(s->t); | ^ ../src/flecs/distr/flecs.c:62782:1: error: jump to label ‘error’ 62782 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62690:5: note: in expansion of macro ‘ecs_check’ 62690 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62753:13: note: crosses initialization of ‘int64_t outstanding_allocs’ 62753 | int64_t outstanding_allocs = ecs_os_api_malloc_count + | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62706:12: note: crosses initialization of ‘double delta_world_time’ 62706 | double delta_world_time = | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62697:12: note: crosses initialization of ‘double delta_frame_count’ 62697 | double delta_frame_count = | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62695:13: note: crosses initialization of ‘int32_t t’ 62695 | int32_t t = s->t = t_next(s->t); | ^ ../src/flecs/distr/flecs.c: In function ‘void ecs_query_stats_get(const ecs_world_t*, const ecs_query_t*, ecs_query_stats_t*)’: ../src/flecs/distr/flecs.c:62833:1: error: jump to label ‘error’ 62833 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62824:5: note: in expansion of macro ‘ecs_check’ 62824 | ecs_check(s != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62828:23: note: crosses initialization of ‘ecs_query_count_t counts’ 62828 | ecs_query_count_t counts = ecs_query_count(query); | ^~~~~~ ../src/flecs/distr/flecs.c:62827:13: note: crosses initialization of ‘int32_t t’ 62827 | int32_t t = s->t = t_next(s->t); | ^ ../src/flecs/distr/flecs.c:62833:1: error: jump to label ‘error’ 62833 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62823:5: note: in expansion of macro ‘ecs_check’ 62823 | ecs_check(query != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62828:23: note: crosses initialization of ‘ecs_query_count_t counts’ 62828 | ecs_query_count_t counts = ecs_query_count(query); | ^~~~~~ ../src/flecs/distr/flecs.c:62827:13: note: crosses initialization of ‘int32_t t’ 62827 | int32_t t = s->t = t_next(s->t); | ^ ../src/flecs/distr/flecs.c: In function ‘bool ecs_system_stats_get(const ecs_world_t*, ecs_entity_t, ecs_system_stats_t*)’: ../src/flecs/distr/flecs.c:62895:1: error: jump to label ‘error’ 62895 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62878:5: note: in expansion of macro ‘ecs_check’ 62878 | ecs_check(system != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62888:13: note: crosses initialization of ‘int32_t t’ 62888 | int32_t t = s->query.t; | ^ ../src/flecs/distr/flecs.c:62882:25: note: crosses initialization of ‘const ecs_system_t* ptr’ 62882 | const ecs_system_t *ptr = flecs_poly_get(world, system, ecs_system_t); | ^~~ ../src/flecs/distr/flecs.c:62895:1: error: jump to label ‘error’ 62895 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62877:5: note: in expansion of macro ‘ecs_check’ 62877 | ecs_check(s != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62888:13: note: crosses initialization of ‘int32_t t’ 62888 | int32_t t = s->query.t; | ^ ../src/flecs/distr/flecs.c:62882:25: note: crosses initialization of ‘const ecs_system_t* ptr’ 62882 | const ecs_system_t *ptr = flecs_poly_get(world, system, ecs_system_t); | ^~~ ../src/flecs/distr/flecs.c:62895:1: error: jump to label ‘error’ 62895 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62876:5: note: in expansion of macro ‘ecs_check’ 62876 | ecs_check(world != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62888:13: note: crosses initialization of ‘int32_t t’ 62888 | int32_t t = s->query.t; | ^ ../src/flecs/distr/flecs.c:62882:25: note: crosses initialization of ‘const ecs_system_t* ptr’ 62882 | const ecs_system_t *ptr = flecs_poly_get(world, system, ecs_system_t); | ^~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_pipeline_stats_get(ecs_world_t*, ecs_entity_t, ecs_pipeline_stats_t*)’: ../src/flecs/distr/flecs.c:63045:1: error: jump to label ‘error’ 63045 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62949:5: note: in expansion of macro ‘ecs_check’ 62949 | ecs_check(pipeline != 0, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62980:13: note: crosses initialization of ‘int32_t pip_count’ 62980 | int32_t pip_count = active_sys_count + ecs_vec_count(ops); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62979:24: note: crosses initialization of ‘ecs_pipeline_op_t* op_last’ 62979 | ecs_pipeline_op_t *op_last = ecs_vec_last_t(ops, ecs_pipeline_op_t); | ^~~~~~~ ../src/flecs/distr/flecs.c:62978:24: note: crosses initialization of ‘ecs_pipeline_op_t* op’ 62978 | ecs_pipeline_op_t *op = ecs_vec_first_t(ops, ecs_pipeline_op_t); | ^~ ../src/flecs/distr/flecs.c:62977:16: note: crosses initialization of ‘ecs_vec_t* ops’ 62977 | ecs_vec_t *ops = &pq->ops; | ^~~ ../src/flecs/distr/flecs.c:62962:16: note: crosses initialization of ‘ecs_iter_t it’ 62962 | ecs_iter_t it = ecs_query_iter(stage, pq->query); | ^~ ../src/flecs/distr/flecs.c:62959:28: note: crosses initialization of ‘int32_t active_sys_count’ 62959 | int32_t sys_count = 0, active_sys_count = 0; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62959:13: note: crosses initialization of ‘int32_t sys_count’ 62959 | int32_t sys_count = 0, active_sys_count = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62956:27: note: crosses initialization of ‘ecs_pipeline_state_t* pq’ 62956 | ecs_pipeline_state_t *pq = pqc->state; | ^~ ../src/flecs/distr/flecs.c:62952:24: note: crosses initialization of ‘const EcsPipeline* pqc’ 62952 | const EcsPipeline *pqc = ecs_get(world, pipeline, EcsPipeline); | ^~~ ../src/flecs/distr/flecs.c:62951:24: note: crosses initialization of ‘const ecs_world_t* world’ 62951 | const ecs_world_t *world = ecs_get_world(stage); | ^~~~~ ../src/flecs/distr/flecs.c:63045:1: error: jump to label ‘error’ 63045 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62948:5: note: in expansion of macro ‘ecs_check’ 62948 | ecs_check(s != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62980:13: note: crosses initialization of ‘int32_t pip_count’ 62980 | int32_t pip_count = active_sys_count + ecs_vec_count(ops); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62979:24: note: crosses initialization of ‘ecs_pipeline_op_t* op_last’ 62979 | ecs_pipeline_op_t *op_last = ecs_vec_last_t(ops, ecs_pipeline_op_t); | ^~~~~~~ ../src/flecs/distr/flecs.c:62978:24: note: crosses initialization of ‘ecs_pipeline_op_t* op’ 62978 | ecs_pipeline_op_t *op = ecs_vec_first_t(ops, ecs_pipeline_op_t); | ^~ ../src/flecs/distr/flecs.c:62977:16: note: crosses initialization of ‘ecs_vec_t* ops’ 62977 | ecs_vec_t *ops = &pq->ops; | ^~~ ../src/flecs/distr/flecs.c:62962:16: note: crosses initialization of ‘ecs_iter_t it’ 62962 | ecs_iter_t it = ecs_query_iter(stage, pq->query); | ^~ ../src/flecs/distr/flecs.c:62959:28: note: crosses initialization of ‘int32_t active_sys_count’ 62959 | int32_t sys_count = 0, active_sys_count = 0; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62959:13: note: crosses initialization of ‘int32_t sys_count’ 62959 | int32_t sys_count = 0, active_sys_count = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62956:27: note: crosses initialization of ‘ecs_pipeline_state_t* pq’ 62956 | ecs_pipeline_state_t *pq = pqc->state; | ^~ ../src/flecs/distr/flecs.c:62952:24: note: crosses initialization of ‘const EcsPipeline* pqc’ 62952 | const EcsPipeline *pqc = ecs_get(world, pipeline, EcsPipeline); | ^~~ ../src/flecs/distr/flecs.c:62951:24: note: crosses initialization of ‘const ecs_world_t* world’ 62951 | const ecs_world_t *world = ecs_get_world(stage); | ^~~~~ ../src/flecs/distr/flecs.c:63045:1: error: jump to label ‘error’ 63045 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62947:5: note: in expansion of macro ‘ecs_check’ 62947 | ecs_check(stage != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62980:13: note: crosses initialization of ‘int32_t pip_count’ 62980 | int32_t pip_count = active_sys_count + ecs_vec_count(ops); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62979:24: note: crosses initialization of ‘ecs_pipeline_op_t* op_last’ 62979 | ecs_pipeline_op_t *op_last = ecs_vec_last_t(ops, ecs_pipeline_op_t); | ^~~~~~~ ../src/flecs/distr/flecs.c:62978:24: note: crosses initialization of ‘ecs_pipeline_op_t* op’ 62978 | ecs_pipeline_op_t *op = ecs_vec_first_t(ops, ecs_pipeline_op_t); | ^~ ../src/flecs/distr/flecs.c:62977:16: note: crosses initialization of ‘ecs_vec_t* ops’ 62977 | ecs_vec_t *ops = &pq->ops; | ^~~ ../src/flecs/distr/flecs.c:62962:16: note: crosses initialization of ‘ecs_iter_t it’ 62962 | ecs_iter_t it = ecs_query_iter(stage, pq->query); | ^~ ../src/flecs/distr/flecs.c:62959:28: note: crosses initialization of ‘int32_t active_sys_count’ 62959 | int32_t sys_count = 0, active_sys_count = 0; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:62959:13: note: crosses initialization of ‘int32_t sys_count’ 62959 | int32_t sys_count = 0, active_sys_count = 0; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:62956:27: note: crosses initialization of ‘ecs_pipeline_state_t* pq’ 62956 | ecs_pipeline_state_t *pq = pqc->state; | ^~ ../src/flecs/distr/flecs.c:62952:24: note: crosses initialization of ‘const EcsPipeline* pqc’ 62952 | const EcsPipeline *pqc = ecs_get(world, pipeline, EcsPipeline); | ^~~ ../src/flecs/distr/flecs.c:62951:24: note: crosses initialization of ‘const ecs_world_t* world’ 62951 | const ecs_world_t *world = ecs_get_world(stage); | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_system_monitor_dtor(EcsSystemStats*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_system_stats_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:63222:37: note: in expansion of macro ‘ecs_map_ptr’ 63222 | ecs_system_stats_t *stats = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_system_stats_copy_last(void*, void*)’: ../src/flecs/distr/flecs.c:63263:32: error: invalid conversion from ‘void*’ to ‘ecs_system_stats_t*’ [-fpermissive] 63263 | ecs_system_stats_copy_last(stats, src); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62929:25: note: initializing argument 1 of ‘void ecs_system_stats_copy_last(ecs_system_stats_t*, const ecs_system_stats_t*)’ 62929 | ecs_system_stats_t *dst, | ~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:63263:39: error: invalid conversion from ‘void*’ to ‘const ecs_system_stats_t*’ [-fpermissive] 63263 | ecs_system_stats_copy_last(stats, src); | ^~~ | | | void* ../src/flecs/distr/flecs.c:62930:31: note: initializing argument 2 of ‘void ecs_system_stats_copy_last(ecs_system_stats_t*, const ecs_system_stats_t*)’ 62930 | const ecs_system_stats_t *src) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_system_stats_get(ecs_world_t*, ecs_entity_t, void*)’: ../src/flecs/distr/flecs.c:63272:38: error: invalid conversion from ‘void*’ to ‘ecs_system_stats_t*’ [-fpermissive] 63272 | ecs_system_stats_get(world, res, stats); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62874:25: note: initializing argument 3 of ‘bool ecs_system_stats_get(const ecs_world_t*, ecs_entity_t, ecs_system_stats_t*)’ 62874 | ecs_system_stats_t *s) | ~~~~~~~~~~~~~~~~~~~~^ ../src/flecs/distr/flecs.c: In function ‘void flecs_system_stats_reduce(void*, void*)’: ../src/flecs/distr/flecs.c:63280:29: error: invalid conversion from ‘void*’ to ‘ecs_system_stats_t*’ [-fpermissive] 63280 | ecs_system_stats_reduce(stats, src); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62900:25: note: initializing argument 1 of ‘void ecs_system_stats_reduce(ecs_system_stats_t*, const ecs_system_stats_t*)’ 62900 | ecs_system_stats_t *dst, | ~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:63280:36: error: invalid conversion from ‘void*’ to ‘const ecs_system_stats_t*’ [-fpermissive] 63280 | ecs_system_stats_reduce(stats, src); | ^~~ | | | void* ../src/flecs/distr/flecs.c:62901:31: note: initializing argument 2 of ‘void ecs_system_stats_reduce(ecs_system_stats_t*, const ecs_system_stats_t*)’ 62901 | const ecs_system_stats_t *src) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_system_stats_reduce_last(void*, void*, int32_t)’: ../src/flecs/distr/flecs.c:63289:34: error: invalid conversion from ‘void*’ to ‘ecs_system_stats_t*’ [-fpermissive] 63289 | ecs_system_stats_reduce_last(stats, last, reduce_count); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62910:25: note: initializing argument 1 of ‘void ecs_system_stats_reduce_last(ecs_system_stats_t*, const ecs_system_stats_t*, int32_t)’ 62910 | ecs_system_stats_t *dst, | ~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:63289:41: error: invalid conversion from ‘void*’ to ‘const ecs_system_stats_t*’ [-fpermissive] 63289 | ecs_system_stats_reduce_last(stats, last, reduce_count); | ^~~~ | | | void* ../src/flecs/distr/flecs.c:62911:31: note: initializing argument 2 of ‘void ecs_system_stats_reduce_last(ecs_system_stats_t*, const ecs_system_stats_t*, int32_t)’ 62911 | const ecs_system_stats_t *src, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_system_stats_repeat_last(void*)’: ../src/flecs/distr/flecs.c:63296:34: error: invalid conversion from ‘void*’ to ‘ecs_system_stats_t*’ [-fpermissive] 63296 | ecs_system_stats_repeat_last(stats); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62921:25: note: initializing argument 1 of ‘void ecs_system_stats_repeat_last(ecs_system_stats_t*)’ 62921 | ecs_system_stats_t *stats) | ~~~~~~~~~~~~~~~~~~~~^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsSystemMonitorImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:63309:5: error: designator order for field ‘ecs_type_hooks_t::dtor’ does not match declaration order in ‘ecs_type_hooks_t’ 63309 | }); | ^ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:63304:42: error: taking address of rvalue [-fpermissive] 63304 | ecs_set_hooks(world, EcsSystemStats, { | ^ 63305 | .ctor = ecs_ctor(EcsSystemStats), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63306 | .copy = ecs_copy(EcsSystemStats), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63307 | .move = ecs_move(EcsSystemStats), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63308 | .dtor = ecs_dtor(EcsSystemStats) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63309 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_world_stats_get(ecs_world_t*, ecs_entity_t, void*)’: ../src/flecs/distr/flecs.c:63343:32: error: invalid conversion from ‘void*’ to ‘ecs_world_stats_t*’ [-fpermissive] 63343 | ecs_world_stats_get(world, stats); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62688:24: note: initializing argument 2 of ‘void ecs_world_stats_get(const ecs_world_t*, ecs_world_stats_t*)’ 62688 | ecs_world_stats_t *s) | ~~~~~~~~~~~~~~~~~~~^ ../src/flecs/distr/flecs.c: In function ‘void flecs_world_stats_copy_last(void*, void*)’: ../src/flecs/distr/flecs.c:63360:31: error: invalid conversion from ‘void*’ to ‘ecs_world_stats_t*’ [-fpermissive] 63360 | ecs_world_stats_copy_last(stats, src); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62811:24: note: initializing argument 1 of ‘void ecs_world_stats_copy_last(ecs_world_stats_t*, const ecs_world_stats_t*)’ 62811 | ecs_world_stats_t *dst, | ~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:63360:38: error: invalid conversion from ‘void*’ to ‘const ecs_world_stats_t*’ [-fpermissive] 63360 | ecs_world_stats_copy_last(stats, src); | ^~~ | | | void* ../src/flecs/distr/flecs.c:62812:30: note: initializing argument 2 of ‘void ecs_world_stats_copy_last(ecs_world_stats_t*, const ecs_world_stats_t*)’ 62812 | const ecs_world_stats_t *src) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_world_stats_reduce(void*, void*)’: ../src/flecs/distr/flecs.c:63368:28: error: invalid conversion from ‘void*’ to ‘ecs_world_stats_t*’ [-fpermissive] 63368 | ecs_world_stats_reduce(stats, src); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62787:24: note: initializing argument 1 of ‘void ecs_world_stats_reduce(ecs_world_stats_t*, const ecs_world_stats_t*)’ 62787 | ecs_world_stats_t *dst, | ~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:63368:35: error: invalid conversion from ‘void*’ to ‘const ecs_world_stats_t*’ [-fpermissive] 63368 | ecs_world_stats_reduce(stats, src); | ^~~ | | | void* ../src/flecs/distr/flecs.c:62788:30: note: initializing argument 2 of ‘void ecs_world_stats_reduce(ecs_world_stats_t*, const ecs_world_stats_t*)’ 62788 | const ecs_world_stats_t *src) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_world_stats_reduce_last(void*, void*, int32_t)’: ../src/flecs/distr/flecs.c:63377:33: error: invalid conversion from ‘void*’ to ‘ecs_world_stats_t*’ [-fpermissive] 63377 | ecs_world_stats_reduce_last(stats, last, reduce_count); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62795:24: note: initializing argument 1 of ‘void ecs_world_stats_reduce_last(ecs_world_stats_t*, const ecs_world_stats_t*, int32_t)’ 62795 | ecs_world_stats_t *dst, | ~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c:63377:40: error: invalid conversion from ‘void*’ to ‘const ecs_world_stats_t*’ [-fpermissive] 63377 | ecs_world_stats_reduce_last(stats, last, reduce_count); | ^~~~ | | | void* ../src/flecs/distr/flecs.c:62796:30: note: initializing argument 2 of ‘void ecs_world_stats_reduce_last(ecs_world_stats_t*, const ecs_world_stats_t*, int32_t)’ 62796 | const ecs_world_stats_t *src, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_world_stats_repeat_last(void*)’: ../src/flecs/distr/flecs.c:63384:33: error: invalid conversion from ‘void*’ to ‘ecs_world_stats_t*’ [-fpermissive] 63384 | ecs_world_stats_repeat_last(stats); | ^~~~~ | | | void* ../src/flecs/distr/flecs.c:62804:24: note: initializing argument 1 of ‘void ecs_world_stats_repeat_last(ecs_world_stats_t*)’ 62804 | ecs_world_stats_t *stats) | ~~~~~~~~~~~~~~~~~~~^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsWorldMonitorImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:63392:41: error: taking address of rvalue [-fpermissive] 63392 | ecs_set_hooks(world, EcsWorldStats, { | ^ 63393 | .ctor = flecs_default_ctor | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 63394 | }); | ~ ../src/flecs/distr/flecs.h:10023:59: note: in definition of macro ‘ecs_set_hooks’ 10023 | ecs_set_hooks_id(world, ecs_id(T), &(ecs_type_hooks_t)__VA_ARGS__) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsWorldSummaryImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:63485:23: error: taking address of rvalue [-fpermissive] 63485 | ecs_struct(world, { | ^ 63486 | .entity = ecs_id(EcsWorldSummary), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63487 | .members = { | ~~~~~~~~~~~~ 63488 | { .name = "target_fps", .type = ecs_id(ecs_f64_t), .unit = EcsHertz }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63489 | { .name = "time_scale", .type = ecs_id(ecs_f64_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63490 | { .name = "frame_time_total", .type = ecs_id(ecs_f64_t), .unit = EcsSeconds }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63491 | { .name = "system_time_total", .type = ecs_id(ecs_f64_t), .unit = EcsSeconds }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63492 | { .name = "merge_time_total", .type = ecs_id(ecs_f64_t), .unit = EcsSeconds }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63493 | { .name = "frame_time_last", .type = ecs_id(ecs_f64_t), .unit = EcsSeconds }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63494 | { .name = "system_time_last", .type = ecs_id(ecs_f64_t), .unit = EcsSeconds }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63495 | { .name = "merge_time_last", .type = ecs_id(ecs_f64_t), .unit = EcsSeconds }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63496 | { .name = "frame_count", .type = ecs_id(ecs_u64_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63497 | { .name = "command_count", .type = ecs_id(ecs_u64_t) }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63498 | { .name = "build_info", .type = build_info } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63499 | } | ~ 63500 | }); | ~ ../src/flecs/distr/flecs.h:16131:49: note: in definition of macro ‘ecs_struct’ 16131 | ecs_struct_init(world, &(ecs_struct_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10141:34: error: taking address of temporary array 10141 | #define ecs_ids(...) (ecs_id_t[]){ __VA_ARGS__, 0 } | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:12349:49: note: in definition of macro ‘ecs_system’ 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:63505:19: note: in expansion of macro ‘ecs_entity’ 63505 | .entity = ecs_entity(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:63507:20: note: in expansion of macro ‘ecs_ids’ 63507 | .add = ecs_ids(ecs_pair(EcsDependsOn, EcsPreFrame)) | ^~~~~~~ ../src/flecs/distr/flecs.h:12349:47: error: expected primary-expression before ‘)’ token 12349 | ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:63504:5: note: in expansion of macro ‘ecs_system’ 63504 | ecs_system(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:63514:37: error: taking address of rvalue [-fpermissive] 63514 | .entity = ecs_entity(world, { | ^ 63515 | .name = "OnSetWorldSummary" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63516 | }), | ~ ../src/flecs/distr/flecs.h:9715:53: note: in definition of macro ‘ecs_observer’ 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:63514:19: note: in expansion of macro ‘ecs_entity’ 63514 | .entity = ecs_entity(world, { | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:9715:51: error: expected primary-expression before ‘)’ token 9715 | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) | ^ ../src/flecs/distr/flecs.c:63513:5: note: in expansion of macro ‘ecs_observer’ 63513 | ecs_observer(world, { | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:63522:47: error: taking address of rvalue [-fpermissive] 63522 | ecs_set(world, EcsWorld, EcsWorldSummary, { | ^ 63523 | .target_fps = (double)info->target_fps, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63524 | .time_scale = (double)info->time_scale | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63525 | }); | ~ ../src/flecs/distr/flecs.h:9788:81: note: in definition of macro ‘ecs_set’ 9788 | ecs_set_id(world, entity, ecs_id(component), sizeof(component), &(component)__VA_ARGS__) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: At global scope: ../src/flecs/distr/flecs.c:63550:1: sorry, unimplemented: non-trivial designated initializers not supported 63550 | }; | ^ ../src/flecs/distr/flecs.c: In function ‘void flecs_system_poly_fini(void*)’: ../src/flecs/distr/flecs.c:63735:23: error: invalid conversion from ‘void*’ to ‘ecs_system_t*’ [-fpermissive] 63735 | flecs_system_fini(sys); | ^~~ | | | void* ../src/flecs/distr/flecs.c:63712:38: note: initializing argument 1 of ‘void flecs_system_fini(ecs_system_t*)’ 63712 | void flecs_system_fini(ecs_system_t *sys) { | ~~~~~~~~~~~~~~^~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_system_init_timer(ecs_world_t*, ecs_entity_t, const ecs_system_desc_t*)’: ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:63744:9: note: in expansion of macro ‘ECS_NEQZERO’ 63744 | if (ECS_NEQZERO(desc->interval) && ECS_NEQZERO(desc->rate)) { | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:63744:40: note: in expansion of macro ‘ECS_NEQZERO’ 63744 | if (ECS_NEQZERO(desc->interval) && ECS_NEQZERO(desc->rate)) { | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:63751:9: note: in expansion of macro ‘ECS_NEQZERO’ 63751 | if (ECS_NEQZERO(desc->interval) || ECS_NEQZERO(desc->rate) || | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:63751:40: note: in expansion of macro ‘ECS_NEQZERO’ 63751 | if (ECS_NEQZERO(desc->interval) || ECS_NEQZERO(desc->rate) || | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:63752:9: note: in expansion of macro ‘ECS_NEQZERO’ 63752 | ECS_NEQZERO(desc->tick_source)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.h:886:45: error: taking address of rvalue [-fpermissive] 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^ ../src/flecs/distr/flecs.h:2642:53: note: in definition of macro ‘ecs_os_memcmp’ 2642 | #define ecs_os_memcmp(ptr1, ptr2, num) memcmp(ptr1, ptr2, static_cast(num)) | ^~~~ ../src/flecs/distr/flecs.h:884:25: note: in expansion of macro ‘ECS_EQ’ 884 | #define ECS_NEQ(a, b) (!ECS_EQ(a, b)) | ^~~~~~ ../src/flecs/distr/flecs.h:886:24: note: in expansion of macro ‘ECS_NEQ’ 886 | #define ECS_NEQZERO(a) ECS_NEQ(a, (uint64_t){0}) | ^~~~~~~ ../src/flecs/distr/flecs.c:63755:13: note: in expansion of macro ‘ECS_NEQZERO’ 63755 | if (ECS_NEQZERO(desc->interval)) { | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_entity_t ecs_system_init(ecs_world_t*, const ecs_system_desc_t*)’: ../src/flecs/distr/flecs.c:63788:36: error: taking address of rvalue [-fpermissive] 63788 | entity = ecs_entity(world, {0}); | ^~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:63926:1: error: jump to label ‘error’ 63926 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:63781:5: note: in expansion of macro ‘ecs_check’ 63781 | ecs_check(desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:63791:14: note: crosses initialization of ‘EcsPoly* poly’ 63791 | EcsPoly *poly = flecs_poly_bind(world, entity, ecs_system_t); | ^~~~ ../src/flecs/distr/flecs.c:63786:18: note: crosses initialization of ‘ecs_entity_t entity’ 63786 | ecs_entity_t entity = desc->entity; | ^~~~~~ ../src/flecs/distr/flecs.c:63926:1: error: jump to label ‘error’ 63926 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:63780:5: note: in expansion of macro ‘ecs_check’ 63780 | ecs_check(desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:63791:14: note: crosses initialization of ‘EcsPoly* poly’ 63791 | EcsPoly *poly = flecs_poly_bind(world, entity, ecs_system_t); | ^~~~ ../src/flecs/distr/flecs.c:63786:18: note: crosses initialization of ‘ecs_entity_t entity’ 63786 | ecs_entity_t entity = desc->entity; | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void FlecsSystemImport(ecs_world_t*)’: ../src/flecs/distr/flecs.c:3008:37: error: taking address of rvalue [-fpermissive] 3008 | .entity = ecs_entity(world, { .id = ecs_id(id_), .name = #id_, .symbol = #id_ }),\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:9657:49: note: in definition of macro ‘ecs_entity’ 9657 | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:63950:5: note: in expansion of macro ‘flecs_bootstrap_component’ 63950 | flecs_bootstrap_component(world, EcsTickSource); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:3007:53: error: expected primary-expression before ‘)’ token 3007 | ecs_component_init(world, &(ecs_component_desc_t){\ | ^ ../src/flecs/distr/flecs.c:63950:5: note: in expansion of macro ‘flecs_bootstrap_component’ 63950 | flecs_bootstrap_component(world, EcsTickSource); | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_query_discover_vars(ecs_stage_t*, ecs_query_impl_t*)’: ../src/flecs/distr/flecs.h:2005:44: error: invalid conversion from ‘void*’ to ‘ecs_var_id_t*’ {aka ‘unsigned char*’} [-fpermissive] 2005 | #define flecs_calloc(a, size) flecs_bcalloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2007:37: note: in expansion of macro ‘flecs_calloc’ 2007 | #define flecs_calloc_n(a, T, count) flecs_calloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:64184:43: note: in expansion of macro ‘flecs_calloc_n’ 64184 | query->src_vars = flecs_calloc_n(&stage->allocator, | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_query_var_t*’ [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:64343:22: note: in expansion of macro ‘flecs_alloc’ 64343 | query_vars = flecs_alloc(&stage->allocator, | ^~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘char**’ [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:3948:36: note: in expansion of macro ‘ECS_OFFSET’ 3948 | #define ECS_ELEM(ptr, size, index) ECS_OFFSET(ptr, (size) * (index)) | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:64364:21: note: in expansion of macro ‘ECS_ELEM’ 64364 | var_names = ECS_ELEM(query_vars, ECS_SIZEOF(ecs_query_var_t), | ^~~~~~~~ ../src/flecs/distr/flecs.c:64400:1: error: jump to label ‘error’ 64400 | error: | ^~~~~ ../src/flecs/distr/flecs.c:64178:34: note: from here 64178 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:64341:22: note: crosses initialization of ‘ecs_query_var_t* query_vars’ 64341 | ecs_query_var_t *query_vars = &flecs_this_array; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:64238:10: note: crosses initialization of ‘bool replace_placeholders’ 64238 | bool replace_placeholders = false; | ^~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:64237:18: note: crosses initialization of ‘ecs_var_id_t placeholder’ 64237 | ecs_var_id_t placeholder = EcsVarNone - 1; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:64236:13: note: crosses initialization of ‘int32_t var_count’ 64236 | int32_t var_count = ecs_vec_count(vars); | ^~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘int flecs_query_compile(ecs_world_t*, ecs_stage_t*, ecs_query_impl_t*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘ecs_query_op_t*’ [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:65063:22: note: in expansion of macro ‘flecs_alloc_n’ 65063 | query->ops = flecs_alloc_n(&stage->allocator, ecs_query_op_t, op_count); | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_query_compile_term(ecs_world_t*, ecs_query_impl_t*, ecs_term_t*, ecs_query_compile_ctx_t*)’: ../src/flecs/distr/flecs.c:66555:1: error: jump to label ‘error’ 66555 | error: | ^~~~~ ../src/flecs/distr/flecs.c:66355:14: note: from here 66355 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:66435:23: note: crosses initialization of ‘ecs_write_flags_t write_state’ 66435 | ecs_write_flags_t write_state = ctx->written; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:66555:1: error: jump to label ‘error’ 66555 | error: | ^~~~~ ../src/flecs/distr/flecs.c:66321:14: note: from here 66321 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:66435:23: note: crosses initialization of ‘ecs_write_flags_t write_state’ 66435 | ecs_write_flags_t write_state = ctx->written; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:66555:1: error: jump to label ‘error’ 66555 | error: | ^~~~~ ../src/flecs/distr/flecs.c:66315:14: note: from here 66315 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:66435:23: note: crosses initialization of ‘ecs_write_flags_t write_state’ 66435 | ecs_write_flags_t write_state = ctx->written; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:66555:1: error: jump to label ‘error’ 66555 | error: | ^~~~~ ../src/flecs/distr/flecs.c:66272:18: note: from here 66272 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:66435:23: note: crosses initialization of ‘ecs_write_flags_t write_state’ 66435 | ecs_write_flags_t write_state = ctx->written; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:66304:10: note: crosses initialization of ‘bool src_written’ 66304 | bool src_written = true; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:66294:23: note: crosses initialization of ‘ecs_write_flags_t cond_write_state’ 66294 | ecs_write_flags_t cond_write_state = ctx->cond_written; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:66290:10: note: crosses initialization of ‘bool is_not’ 66290 | bool is_not = (term->oper == EcsNot) && !builtin_pred; | ^~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_query_cache_table_match_t* flecs_query_cache_find_group_insertion_node(ecs_query_cache_t*, uint64_t)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_list_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:66724:16: note: in expansion of macro ‘ecs_map_ptr’ 66724 | list = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_query_cache_table_match_t* flecs_query_cache_cache_add(ecs_world_t*, ecs_query_cache_table_t*)’: ../src/flecs/distr/flecs.c:66996:22: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_match_t*’ [-fpermissive] 66996 | flecs_bcalloc(&world->allocators.query_table_match); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘uint64_t flecs_query_cache_group_by_cascade(ecs_world_t*, ecs_table_t*, ecs_id_t, void*)’: ../src/flecs/distr/flecs.c:67021:24: error: invalid conversion from ‘void*’ to ‘ecs_term_t*’ [-fpermissive] 67021 | ecs_term_t *term = ctx; | ^~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_query_cache_table_match_t* flecs_query_cache_add_table_match(ecs_query_cache_t*, ecs_query_cache_table_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.c:67039:27: error: invalid conversion from ‘void*’ to ‘const ecs_table_record_t**’ [-fpermissive] 67039 | qm->trs = flecs_balloc(&cache->allocators.trs); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_set_table_match(ecs_query_cache_t*, ecs_query_cache_table_match_t*, ecs_iter_t*)’: ../src/flecs/distr/flecs.c:67076:35: error: invalid conversion from ‘void*’ to ‘ecs_id_t*’ {aka ‘long unsigned int*’} [-fpermissive] 67076 | qm->ids = flecs_balloc(&cache->allocators.ids); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:67095:39: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 67095 | qm->sources = flecs_balloc(&cache->allocators.sources); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_query_cache_table_t* flecs_query_cache_table_insert(ecs_world_t*, ecs_query_cache_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.c:67115:48: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_t*’ [-fpermissive] 67115 | ecs_query_cache_table_t *qt = flecs_bcalloc(&world->allocators.query_table); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_update_table(ecs_query_cache_t*, ecs_table_t*, bool)’: ../src/flecs/distr/flecs.c:67314:58: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_t*’ [-fpermissive] 67314 | ecs_query_cache_table_t *qt = ecs_table_cache_get(&cache->cache, table); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_table_match_free(ecs_query_cache_t*, ecs_query_cache_table_t*, ecs_query_cache_table_match_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_table_record_t**’ to type ‘void*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67350:45: note: in expansion of macro ‘ECS_CONST_CAST’ 67350 | flecs_bfree(&cache->allocators.trs, ECS_CONST_CAST(void*, cur->trs)); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_unmatch_table(ecs_query_cache_t*, ecs_table_t*, ecs_query_cache_table_t*)’: ../src/flecs/distr/flecs.c:67390:35: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_t*’ [-fpermissive] 67390 | elem = ecs_table_cache_get(&cache->cache, table); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_rematch_tables(ecs_world_t*, ecs_query_impl_t*)’: ../src/flecs/distr/flecs.c:67438:37: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_t*’ [-fpermissive] 67438 | qt = ecs_table_cache_get(&cache->cache, table); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_query_cache_table_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:67475:22: note: in expansion of macro ‘flecs_table_cache_next’ 67475 | while ((qt = flecs_table_cache_next(&cache_it, ecs_query_cache_table_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_notify(ecs_world_t*, ecs_query_t*, ecs_query_cache_event_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67497:30: note: in expansion of macro ‘flecs_query_impl’ 67497 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int flecs_query_cache_order_by(ecs_world_t*, ecs_query_impl_t*, ecs_entity_t, ecs_order_by_action_t, ecs_sort_table_action_t)’: ../src/flecs/distr/flecs.c:67567:1: error: jump to label ‘error’ 67567 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67527:5: note: in expansion of macro ‘ecs_check’ 67527 | ecs_check(!ecs_id_is_wildcard(order_by), | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67533:13: note: crosses initialization of ‘int32_t order_by_term’ 67533 | int32_t order_by_term = -1; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67532:16: note: crosses initialization of ‘int32_t count’ 67532 | int32_t i, count = query->term_count; | ^~~~~ ../src/flecs/distr/flecs.c:67531:24: note: crosses initialization of ‘const ecs_query_t* query’ 67531 | const ecs_query_t *query = cache->query; | ^~~~~ ../src/flecs/distr/flecs.c:67567:1: error: jump to label ‘error’ 67567 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67526:5: note: in expansion of macro ‘ecs_check’ 67526 | ecs_check(cache != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67533:13: note: crosses initialization of ‘int32_t order_by_term’ 67533 | int32_t order_by_term = -1; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67532:16: note: crosses initialization of ‘int32_t count’ 67532 | int32_t i, count = query->term_count; | ^~~~~ ../src/flecs/distr/flecs.c:67531:24: note: crosses initialization of ‘const ecs_query_t* query’ 67531 | const ecs_query_t *query = cache->query; | ^~~~~ ../src/flecs/distr/flecs.c:67567:1: error: jump to label ‘error’ 67567 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67524:5: note: in expansion of macro ‘ecs_check’ 67524 | ecs_check(impl != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67533:13: note: crosses initialization of ‘int32_t order_by_term’ 67533 | int32_t order_by_term = -1; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67532:16: note: crosses initialization of ‘int32_t count’ 67532 | int32_t i, count = query->term_count; | ^~~~~ ../src/flecs/distr/flecs.c:67531:24: note: crosses initialization of ‘const ecs_query_t* query’ 67531 | const ecs_query_t *query = cache->query; | ^~~~~ ../src/flecs/distr/flecs.c:67525:24: note: crosses initialization of ‘ecs_query_cache_t* cache’ 67525 | ecs_query_cache_t *cache = impl->cache; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_on_event(ecs_iter_t*)’: ../src/flecs/distr/flecs.c:67603:29: error: invalid conversion from ‘void*’ to ‘ecs_observer_t*’ [-fpermissive] 67603 | ecs_observer_t *o = it->ctx; | ~~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_observer_t*’ to type ‘ecs_observer_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2500:40: note: in expansion of macro ‘ECS_CONST_CAST’ 2500 | #define flecs_observer_impl(observer) (ECS_CONST_CAST(ecs_observer_impl_t*, observer)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67604:35: note: in expansion of macro ‘flecs_observer_impl’ 67604 | ecs_observer_impl_t *o_impl = flecs_observer_impl(o); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67612:33: error: invalid conversion from ‘void*’ to ‘ecs_query_impl_t*’ [-fpermissive] 67612 | ecs_query_impl_t *impl = o->ctx; | ~~~^~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_table_cache_free(ecs_query_cache_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_query_cache_table_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:67669:22: note: in expansion of macro ‘flecs_table_cache_next’ 67669 | while ((qt = flecs_table_cache_next(&it, ecs_query_cache_table_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_fini(ecs_query_impl_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_list_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67725:51: note: in expansion of macro ‘ecs_map_ptr’ 67725 | ecs_query_cache_table_list_t *group = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_query_cache_t* flecs_query_cache_init(ecs_query_impl_t*, const ecs_query_desc_t*)’: ../src/flecs/distr/flecs.c:67788:46: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_t*’ [-fpermissive] 67788 | ecs_query_cache_t *result = flecs_bcalloc(&stage->allocators.query_cache); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:67814:40: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 67814 | result->sources = flecs_bcalloc(&result->allocators.sources); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:67903:1: error: jump to label ‘error’ 67903 | error: | ^~~~~ ../src/flecs/distr/flecs.c:67855:14: note: from here 67855 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:67859:13: note: crosses initialization of ‘int32_t cascade_by’ 67859 | int32_t cascade_by = result->cascade_by; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:67903:1: error: jump to label ‘error’ 67903 | error: | ^~~~~ ../src/flecs/distr/flecs.c:67839:18: note: from here 67839 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:67859:13: note: crosses initialization of ‘int32_t cascade_by’ 67859 | int32_t cascade_by = result->cascade_by; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:67903:1: error: jump to label ‘error’ 67903 | error: | ^~~~~ ../src/flecs/distr/flecs.c:67798:14: note: from here 67798 | goto error; | ^~~~~ ../src/flecs/distr/flecs.c:67859:13: note: crosses initialization of ‘int32_t cascade_by’ 67859 | int32_t cascade_by = result->cascade_by; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:67903:1: error: jump to label ‘error’ 67903 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67768:5: note: in expansion of macro ‘ecs_check’ 67768 | ecs_check(!(world->flags & EcsWorldFini), ECS_INVALID_OPERATION, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67859:13: note: crosses initialization of ‘int32_t cascade_by’ 67859 | int32_t cascade_by = result->cascade_by; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:67796:18: note: crosses initialization of ‘ecs_query_t* q’ 67796 | ecs_query_t *q = result->query = ecs_query_init(world, &desc); | ^ ../src/flecs/distr/flecs.c:67794:19: note: crosses initialization of ‘ecs_flags32_t query_flags’ 67794 | ecs_flags32_t query_flags = const_desc->flags | world->default_query_flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:67792:25: note: crosses initialization of ‘ecs_observer_desc_t observer_desc’ 67792 | ecs_observer_desc_t observer_desc = { .query = desc }; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67788:24: note: crosses initialization of ‘ecs_query_cache_t* result’ 67788 | ecs_query_cache_t *result = flecs_bcalloc(&stage->allocators.query_cache); | ^~~~~~ ../src/flecs/distr/flecs.c:67774:18: note: crosses initialization of ‘ecs_entity_t entity’ 67774 | ecs_entity_t entity = desc.entity; | ^~~~~~ ../src/flecs/distr/flecs.c:67773:22: note: crosses initialization of ‘ecs_query_desc_t desc’ 67773 | ecs_query_desc_t desc = *const_desc; | ^~~~ ../src/flecs/distr/flecs.c:67903:1: error: jump to label ‘error’ 67903 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67766:5: note: in expansion of macro ‘ecs_check’ 67766 | ecs_check(const_desc->_canary == 0, ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67859:13: note: crosses initialization of ‘int32_t cascade_by’ 67859 | int32_t cascade_by = result->cascade_by; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:67796:18: note: crosses initialization of ‘ecs_query_t* q’ 67796 | ecs_query_t *q = result->query = ecs_query_init(world, &desc); | ^ ../src/flecs/distr/flecs.c:67794:19: note: crosses initialization of ‘ecs_flags32_t query_flags’ 67794 | ecs_flags32_t query_flags = const_desc->flags | world->default_query_flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:67792:25: note: crosses initialization of ‘ecs_observer_desc_t observer_desc’ 67792 | ecs_observer_desc_t observer_desc = { .query = desc }; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67788:24: note: crosses initialization of ‘ecs_query_cache_t* result’ 67788 | ecs_query_cache_t *result = flecs_bcalloc(&stage->allocators.query_cache); | ^~~~~~ ../src/flecs/distr/flecs.c:67774:18: note: crosses initialization of ‘ecs_entity_t entity’ 67774 | ecs_entity_t entity = desc.entity; | ^~~~~~ ../src/flecs/distr/flecs.c:67773:22: note: crosses initialization of ‘ecs_query_desc_t desc’ 67773 | ecs_query_desc_t desc = *const_desc; | ^~~~ ../src/flecs/distr/flecs.c:67903:1: error: jump to label ‘error’ 67903 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67765:5: note: in expansion of macro ‘ecs_check’ 67765 | ecs_check(const_desc != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67859:13: note: crosses initialization of ‘int32_t cascade_by’ 67859 | int32_t cascade_by = result->cascade_by; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:67796:18: note: crosses initialization of ‘ecs_query_t* q’ 67796 | ecs_query_t *q = result->query = ecs_query_init(world, &desc); | ^ ../src/flecs/distr/flecs.c:67794:19: note: crosses initialization of ‘ecs_flags32_t query_flags’ 67794 | ecs_flags32_t query_flags = const_desc->flags | world->default_query_flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:67792:25: note: crosses initialization of ‘ecs_observer_desc_t observer_desc’ 67792 | ecs_observer_desc_t observer_desc = { .query = desc }; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67788:24: note: crosses initialization of ‘ecs_query_cache_t* result’ 67788 | ecs_query_cache_t *result = flecs_bcalloc(&stage->allocators.query_cache); | ^~~~~~ ../src/flecs/distr/flecs.c:67774:18: note: crosses initialization of ‘ecs_entity_t entity’ 67774 | ecs_entity_t entity = desc.entity; | ^~~~~~ ../src/flecs/distr/flecs.c:67773:22: note: crosses initialization of ‘ecs_query_desc_t desc’ 67773 | ecs_query_desc_t desc = *const_desc; | ^~~~ ../src/flecs/distr/flecs.c:67903:1: error: jump to label ‘error’ 67903 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67764:5: note: in expansion of macro ‘ecs_check’ 67764 | ecs_check(world != NULL, ECS_INTERNAL_ERROR, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67859:13: note: crosses initialization of ‘int32_t cascade_by’ 67859 | int32_t cascade_by = result->cascade_by; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:67796:18: note: crosses initialization of ‘ecs_query_t* q’ 67796 | ecs_query_t *q = result->query = ecs_query_init(world, &desc); | ^ ../src/flecs/distr/flecs.c:67794:19: note: crosses initialization of ‘ecs_flags32_t query_flags’ 67794 | ecs_flags32_t query_flags = const_desc->flags | world->default_query_flags; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:67792:25: note: crosses initialization of ‘ecs_observer_desc_t observer_desc’ 67792 | ecs_observer_desc_t observer_desc = { .query = desc }; | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67788:24: note: crosses initialization of ‘ecs_query_cache_t* result’ 67788 | ecs_query_cache_t *result = flecs_bcalloc(&stage->allocators.query_cache); | ^~~~~~ ../src/flecs/distr/flecs.c:67774:18: note: crosses initialization of ‘ecs_entity_t entity’ 67774 | ecs_entity_t entity = desc.entity; | ^~~~~~ ../src/flecs/distr/flecs.c:67773:22: note: crosses initialization of ‘ecs_query_desc_t desc’ 67773 | ecs_query_desc_t desc = *const_desc; | ^~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_query_cache_table_t* flecs_query_cache_get_table(ecs_query_cache_t*, ecs_table_t*)’: ../src/flecs/distr/flecs.c:67911:31: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_t*’ [-fpermissive] 67911 | return ecs_table_cache_get(&cache->cache, table); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void ecs_iter_set_group(ecs_iter_t*, uint64_t)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67924:27: note: in expansion of macro ‘flecs_query_impl’ 67924 | ecs_query_impl_t *q = flecs_query_impl(qit->query); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67947:1: error: jump to label ‘error’ 67947 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67928:5: note: in expansion of macro ‘ecs_check’ 67928 | ecs_check(cache != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67938:36: note: crosses initialization of ‘ecs_query_cache_table_match_t* first’ 67938 | ecs_query_cache_table_match_t *first = node->first; | ^~~~~ ../src/flecs/distr/flecs.c:67930:35: note: crosses initialization of ‘ecs_query_cache_table_list_t* node’ 67930 | ecs_query_cache_table_list_t *node = flecs_query_cache_get_group( | ^~~~ ../src/flecs/distr/flecs.c:67947:1: error: jump to label ‘error’ 67947 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67925:5: note: in expansion of macro ‘ecs_check’ 67925 | ecs_check(q != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67938:36: note: crosses initialization of ‘ecs_query_cache_table_match_t* first’ 67938 | ecs_query_cache_table_match_t *first = node->first; | ^~~~~ ../src/flecs/distr/flecs.c:67930:35: note: crosses initialization of ‘ecs_query_cache_table_list_t* node’ 67930 | ecs_query_cache_table_list_t *node = flecs_query_cache_get_group( | ^~~~ ../src/flecs/distr/flecs.c:67927:24: note: crosses initialization of ‘ecs_query_cache_t* cache’ 67927 | ecs_query_cache_t *cache = q->cache; | ^~~~~ ../src/flecs/distr/flecs.c:67947:1: error: jump to label ‘error’ 67947 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67920:5: note: in expansion of macro ‘ecs_check’ 67920 | ecs_check(!(it->flags & EcsIterIsValid), ECS_INVALID_PARAMETER, | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67938:36: note: crosses initialization of ‘ecs_query_cache_table_match_t* first’ 67938 | ecs_query_cache_table_match_t *first = node->first; | ^~~~~ ../src/flecs/distr/flecs.c:67930:35: note: crosses initialization of ‘ecs_query_cache_table_list_t* node’ 67930 | ecs_query_cache_table_list_t *node = flecs_query_cache_get_group( | ^~~~ ../src/flecs/distr/flecs.c:67927:24: note: crosses initialization of ‘ecs_query_cache_t* cache’ 67927 | ecs_query_cache_t *cache = q->cache; | ^~~~~ ../src/flecs/distr/flecs.c:67924:23: note: crosses initialization of ‘ecs_query_impl_t* q’ 67924 | ecs_query_impl_t *q = flecs_query_impl(qit->query); | ^ ../src/flecs/distr/flecs.c:67923:23: note: crosses initialization of ‘ecs_query_iter_t* qit’ 67923 | ecs_query_iter_t *qit = &it->priv_.iter.query; | ^~~ ../src/flecs/distr/flecs.c:67947:1: error: jump to label ‘error’ 67947 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67919:5: note: in expansion of macro ‘ecs_check’ 67919 | ecs_check(it->next == ecs_query_next, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67938:36: note: crosses initialization of ‘ecs_query_cache_table_match_t* first’ 67938 | ecs_query_cache_table_match_t *first = node->first; | ^~~~~ ../src/flecs/distr/flecs.c:67930:35: note: crosses initialization of ‘ecs_query_cache_table_list_t* node’ 67930 | ecs_query_cache_table_list_t *node = flecs_query_cache_get_group( | ^~~~ ../src/flecs/distr/flecs.c:67927:24: note: crosses initialization of ‘ecs_query_cache_t* cache’ 67927 | ecs_query_cache_t *cache = q->cache; | ^~~~~ ../src/flecs/distr/flecs.c:67924:23: note: crosses initialization of ‘ecs_query_impl_t* q’ 67924 | ecs_query_impl_t *q = flecs_query_impl(qit->query); | ^ ../src/flecs/distr/flecs.c:67923:23: note: crosses initialization of ‘ecs_query_iter_t* qit’ 67923 | ecs_query_iter_t *qit = &it->priv_.iter.query; | ^~~ ../src/flecs/distr/flecs.c:67947:1: error: jump to label ‘error’ 67947 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67918:5: note: in expansion of macro ‘ecs_check’ 67918 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:67938:36: note: crosses initialization of ‘ecs_query_cache_table_match_t* first’ 67938 | ecs_query_cache_table_match_t *first = node->first; | ^~~~~ ../src/flecs/distr/flecs.c:67930:35: note: crosses initialization of ‘ecs_query_cache_table_list_t* node’ 67930 | ecs_query_cache_table_list_t *node = flecs_query_cache_get_group( | ^~~~ ../src/flecs/distr/flecs.c:67927:24: note: crosses initialization of ‘ecs_query_cache_t* cache’ 67927 | ecs_query_cache_t *cache = q->cache; | ^~~~~ ../src/flecs/distr/flecs.c:67924:23: note: crosses initialization of ‘ecs_query_impl_t* q’ 67924 | ecs_query_impl_t *q = flecs_query_impl(qit->query); | ^ ../src/flecs/distr/flecs.c:67923:23: note: crosses initialization of ‘ecs_query_iter_t* qit’ 67923 | ecs_query_iter_t *qit = &it->priv_.iter.query; | ^~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘const ecs_query_group_info_t* ecs_query_get_group_info(const ecs_query_t*, uint64_t)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:67957:9: note: in expansion of macro ‘flecs_query_impl’ 67957 | flecs_query_impl(query)->cache, group_id); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_build_sorted_table_range(ecs_query_cache_t*, ecs_query_cache_table_list_t*)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘sort_helper_t*’ [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:68269:29: note: in expansion of macro ‘flecs_alloc_n’ 68269 | sort_helper_t *helper = flecs_alloc_n( | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:68376:57: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_match_t*’ [-fpermissive] 68376 | ecs_query_cache_table_match_t *nodes = ecs_vec_first(&cache->table_slices); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_query_cache_sort_tables(ecs_world_t*, ecs_query_impl_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_query_cache_table_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:68441:18: note: in expansion of macro ‘flecs_table_cache_next’ 68441 | while ((qt = flecs_table_cache_next(&it, ecs_query_cache_table_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_get_match_monitor(ecs_query_impl_t*, ecs_query_cache_table_match_t*)’: ../src/flecs/distr/flecs.c:68532:36: error: invalid conversion from ‘void*’ to ‘int32_t*’ {aka ‘int*’} [-fpermissive] 68532 | int32_t *monitor = flecs_balloc(&cache->allocators.monitors); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_get_fixed_monitor(ecs_query_impl_t*, bool)’: ../src/flecs/distr/flecs.h:2001:42: error: invalid conversion from ‘void*’ to ‘int32_t*’ {aka ‘int*’} [-fpermissive] 2001 | #define flecs_alloc(a, size) flecs_balloc(flecs_allocator_get(a, size)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:2003:36: note: in expansion of macro ‘flecs_alloc’ 2003 | #define flecs_alloc_n(a, T, count) flecs_alloc(a, ECS_SIZEOF(T) * (count)) | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:68591:25: note: in expansion of macro ‘flecs_alloc_n’ 68591 | impl->monitor = flecs_alloc_n(&impl->stage->allocator, | ^~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_check_cache_monitor(ecs_query_impl_t*)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_query_cache_table_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:68713:22: note: in expansion of macro ‘flecs_table_cache_next’ 68713 | while ((qt = flecs_table_cache_next(&it, ecs_query_cache_table_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_query_changed(ecs_query_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:68981:30: note: in expansion of macro ‘flecs_query_impl’ 68981 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_iter_changed(ecs_iter_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:69022:30: note: in expansion of macro ‘flecs_query_impl’ 69022 | ecs_query_impl_t *impl = flecs_query_impl(qit->query); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:69048:1: error: jump to label ‘error’ 69048 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:69018:5: note: in expansion of macro ‘ecs_check’ 69018 | ecs_check(ECS_BIT_IS_SET(it->flags, EcsIterIsValid), | ^~~~~~~~~ ../src/flecs/distr/flecs.c:69023:18: note: crosses initialization of ‘ecs_query_t* q’ 69023 | ecs_query_t *q = &impl->pub; | ^ ../src/flecs/distr/flecs.c:69022:23: note: crosses initialization of ‘ecs_query_impl_t* impl’ 69022 | ecs_query_impl_t *impl = flecs_query_impl(qit->query); | ^~~~ ../src/flecs/distr/flecs.c:69021:23: note: crosses initialization of ‘ecs_query_iter_t* qit’ 69021 | ecs_query_iter_t *qit = &it->priv_.iter.query; | ^~~ ../src/flecs/distr/flecs.c:69048:1: error: jump to label ‘error’ 69048 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:69017:5: note: in expansion of macro ‘ecs_check’ 69017 | ecs_check(it->next == ecs_query_next, ECS_UNSUPPORTED, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:69023:18: note: crosses initialization of ‘ecs_query_t* q’ 69023 | ecs_query_t *q = &impl->pub; | ^ ../src/flecs/distr/flecs.c:69022:23: note: crosses initialization of ‘ecs_query_impl_t* impl’ 69022 | ecs_query_impl_t *impl = flecs_query_impl(qit->query); | ^~~~ ../src/flecs/distr/flecs.c:69021:23: note: crosses initialization of ‘ecs_query_iter_t* qit’ 69021 | ecs_query_iter_t *qit = &it->priv_.iter.query; | ^~~ ../src/flecs/distr/flecs.c:69048:1: error: jump to label ‘error’ 69048 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:69016:5: note: in expansion of macro ‘ecs_check’ 69016 | ecs_check(it != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:69023:18: note: crosses initialization of ‘ecs_query_t* q’ 69023 | ecs_query_t *q = &impl->pub; | ^ ../src/flecs/distr/flecs.c:69022:23: note: crosses initialization of ‘ecs_query_impl_t* impl’ 69022 | ecs_query_impl_t *impl = flecs_query_impl(qit->query); | ^~~~ ../src/flecs/distr/flecs.c:69021:23: note: crosses initialization of ‘ecs_query_iter_t* qit’ 69021 | ecs_query_iter_t *qit = &it->priv_.iter.query; | ^~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_select_w_id(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*, ecs_id_t, ecs_flags32_t)’: ../src/flecs/distr/flecs.c:69086:53: error: expected unqualified-id before ‘and’ token 69086 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~ ../src/flecs/distr/flecs.c:2045:61: note: in definition of macro ‘flecs_op_ctx’ 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^~~~~~~ ../src/flecs/distr/flecs.c:2045:68: error: expected primary-expression before ‘)’ token 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^ ../src/flecs/distr/flecs.c:69086:35: note: in expansion of macro ‘flecs_op_ctx’ 69086 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:69112:14: note: in expansion of macro ‘flecs_table_cache_next’ 69112 | tr = flecs_table_cache_next(&op_ctx->it, ecs_table_record_t); | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_with(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*)’: ../src/flecs/distr/flecs.c:69155:53: error: expected unqualified-id before ‘and’ token 69155 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~ ../src/flecs/distr/flecs.c:2045:61: note: in definition of macro ‘flecs_op_ctx’ 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^~~~~~~ ../src/flecs/distr/flecs.c:2045:68: error: expected primary-expression before ‘)’ token 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^ ../src/flecs/distr/flecs.c:69155:35: note: in expansion of macro ‘flecs_op_ctx’ 69155 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_select_id(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*, ecs_flags32_t)’: ../src/flecs/distr/flecs.c:69217:53: error: expected unqualified-id before ‘and’ token 69217 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~ ../src/flecs/distr/flecs.c:2045:61: note: in definition of macro ‘flecs_op_ctx’ 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^~~~~~~ ../src/flecs/distr/flecs.c:2045:68: error: expected primary-expression before ‘)’ token 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^ ../src/flecs/distr/flecs.c:69217:35: note: in expansion of macro ‘flecs_op_ctx’ 69217 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:69244:36: note: in expansion of macro ‘flecs_table_cache_next’ 69244 | const ecs_table_record_t *tr = flecs_table_cache_next( | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_with_id(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*)’: ../src/flecs/distr/flecs.c:69269:53: error: expected unqualified-id before ‘and’ token 69269 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~ ../src/flecs/distr/flecs.c:2045:61: note: in definition of macro ‘flecs_op_ctx’ 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^~~~~~~ ../src/flecs/distr/flecs.c:2045:68: error: expected primary-expression before ‘)’ token 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^ ../src/flecs/distr/flecs.c:69269:35: note: in expansion of macro ‘flecs_op_ctx’ 69269 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_and_any(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*)’: ../src/flecs/distr/flecs.c:69350:53: error: expected unqualified-id before ‘and’ token 69350 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~ ../src/flecs/distr/flecs.c:2045:61: note: in definition of macro ‘flecs_op_ctx’ 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^~~~~~~ ../src/flecs/distr/flecs.c:2045:68: error: expected primary-expression before ‘)’ token 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^ ../src/flecs/distr/flecs.c:69350:35: note: in expansion of macro ‘flecs_op_ctx’ 69350 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_reset_after_block(const ecs_query_op_t*, ecs_query_run_ctx_t*, ecs_query_ctrl_ctx_t*, bool)’: ../src/flecs/distr/flecs.c:70070:1: error: jump to label ‘done’ 70070 | done: | ^~~~ ../src/flecs/distr/flecs.c:70024:14: note: from here 70024 | goto done; | ^~~~ ../src/flecs/distr/flecs.c:70046:14: note: crosses initialization of ‘ecs_id_t id’ 70046 | ecs_id_t id = flecs_query_op_get_id(op, ctx); | ^~ ../src/flecs/distr/flecs.c:70043:19: note: crosses initialization of ‘ecs_flags16_t flags_2nd’ 70043 | ecs_flags16_t flags_2nd = flecs_query_ref_flags(op->flags, EcsQuerySecond); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:70042:19: note: crosses initialization of ‘ecs_flags16_t flags_1st’ 70042 | ecs_flags16_t flags_1st = flecs_query_ref_flags(op->flags, EcsQueryFirst); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:70041:14: note: crosses initialization of ‘uint64_t written_cur’ 70041 | uint64_t written_cur = written[op->prev + 1]; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c:70040:15: note: crosses initialization of ‘uint64_t* written’ 70040 | uint64_t *written = ctx->written; | ^~~~~~~ ../src/flecs/distr/flecs.c:70028:17: note: crosses initialization of ‘ecs_iter_t* it’ 70028 | ecs_iter_t *it = ctx->it; | ^~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_query_iter_run_ctx_init(ecs_iter_t*, ecs_query_run_ctx_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70523:30: note: in expansion of macro ‘ECS_CONST_CAST’ 70523 | ecs_query_impl_t *impl = ECS_CONST_CAST(ecs_query_impl_t*, qit->query); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool ecs_query_next(ecs_iter_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70620:30: note: in expansion of macro ‘ECS_CONST_CAST’ 70620 | ecs_query_impl_t *impl = ECS_CONST_CAST(ecs_query_impl_t*, qit->query); | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_iter_fini_ctx(ecs_iter_t*, ecs_query_iter_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70716:37: note: in expansion of macro ‘flecs_query_impl’ 70716 | const ecs_query_impl_t *query = flecs_query_impl(qit->query); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_iter_fini(ecs_iter_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70753:24: note: in expansion of macro ‘flecs_query_impl’ 70753 | int32_t op_count = flecs_query_impl(qit->query)->op_count; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70754:25: note: in expansion of macro ‘flecs_query_impl’ 70754 | int32_t var_count = flecs_query_impl(qit->query)->var_count; | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_iter_t flecs_query_iter(const ecs_world_t*, const ecs_query_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70786:30: note: in expansion of macro ‘flecs_query_impl’ 70786 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70836:38: error: invalid conversion from ‘void*’ to ‘ecs_query_cache_table_match_t*’ [-fpermissive] 70836 | qit->node = ecs_vec_first(&cache->table_slices); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:2594:22: error: invalid conversion from ‘void*’ to ‘ecs_var_t*’ [-fpermissive] 2594 | flecs_iter_calloc(it, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:70845:21: note: in expansion of macro ‘flecs_iter_calloc_n’ 70845 | qit->vars = flecs_iter_calloc_n(&it, ecs_var_t, var_count); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2594:22: error: invalid conversion from ‘void*’ to ‘uint64_t*’ {aka ‘long unsigned int*’} [-fpermissive] 2594 | flecs_iter_calloc(it, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:70849:24: note: in expansion of macro ‘flecs_iter_calloc_n’ 70849 | qit->written = flecs_iter_calloc_n(&it, ecs_write_flags_t, op_count); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2594:22: error: invalid conversion from ‘void*’ to ‘ecs_query_op_ctx_t*’ [-fpermissive] 2594 | flecs_iter_calloc(it, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:70850:23: note: in expansion of macro ‘flecs_iter_calloc_n’ 70850 | qit->op_ctx = flecs_iter_calloc_n(&it, ecs_query_op_ctx_t, op_count); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2594:22: error: invalid conversion from ‘void*’ to ‘ecs_query_op_profile_t*’ [-fpermissive] 2594 | flecs_iter_calloc(it, ECS_SIZEOF(T) * count, ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:70854:20: note: in expansion of macro ‘flecs_iter_calloc_n’ 70854 | qit->profile = flecs_iter_calloc_n(&it, ecs_query_op_profile_t, op_count); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70868:1: error: jump to label ‘error’ 70868 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70803:5: note: in expansion of macro ‘ecs_check’ 70803 | ecs_check(!(it.real_world->flags & EcsWorldMultiThreaded) || | ^~~~~~~~~ ../src/flecs/distr/flecs.c:70829:24: note: crosses initialization of ‘ecs_query_cache_t* cache’ 70829 | ecs_query_cache_t *cache = impl->cache; | ^~~~~ ../src/flecs/distr/flecs.c:70868:1: error: jump to label ‘error’ 70868 | error: | ^~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.h:10841:14: note: from here 10841 | goto error;\ | ^~~~~ ../src/flecs/distr/flecs.h:10858:5: note: in expansion of macro ‘ecs_dummy_check’ 10858 | ecs_dummy_check | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70783:5: note: in expansion of macro ‘ecs_check’ 70783 | ecs_check(q != NULL, ECS_INVALID_PARAMETER, NULL); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:70829:24: note: crosses initialization of ‘ecs_query_cache_t* cache’ 70829 | ecs_query_cache_t *cache = impl->cache; | ^~~~~ ../src/flecs/distr/flecs.c:70789:13: note: crosses initialization of ‘int32_t op_count’ 70789 | int32_t op_count = impl->op_count ? impl->op_count : 1; | ^~~~~~~~ ../src/flecs/distr/flecs.c:70788:16: note: crosses initialization of ‘int32_t var_count’ 70788 | int32_t i, var_count = impl->var_count; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:70786:23: note: crosses initialization of ‘ecs_query_impl_t* impl’ 70786 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘ecs_iter_t ecs_query_iter(const ecs_world_t*, const ecs_query_t*)’: ../src/flecs/distr/flecs.h:872:38: error: invalid ‘const_cast’ from type ‘const ecs_query_t*’ to type ‘ecs_query_impl_t*’ 872 | #define ECS_CONST_CAST(type, value) (const_cast(value)) | ^~~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1287:34: note: in expansion of macro ‘ECS_CONST_CAST’ 1287 | #define flecs_query_impl(query) (ECS_CONST_CAST(ecs_query_impl_t*, query)) | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:70886:30: note: in expansion of macro ‘flecs_query_impl’ 70886 | ecs_query_impl_t *impl = flecs_query_impl(q); | ^~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_member_cmp(const ecs_query_op_t*, bool, ecs_query_run_ctx_t*, bool)’: ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:70987:19: note: in expansion of macro ‘ECS_OFFSET’ 70987 | val = ECS_OFFSET(ECS_ELEM(data, size, row), offset); | ^~~~~~~~~~ ../src/flecs/distr/flecs.h:3942:31: error: invalid conversion from ‘void*’ to ‘ecs_entity_t*’ {aka ‘long unsigned int*’} [-fpermissive] 3942 | #define ECS_OFFSET(o, offset) reinterpret_cast((reinterpret_cast(o)) + (static_cast(offset))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:71004:15: note: in expansion of macro ‘ECS_OFFSET’ 71004 | val = ECS_OFFSET(ECS_ELEM(data, size, row), offset); | ^~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_pred_match(const ecs_query_op_t*, bool, ecs_query_run_ctx_t*, bool)’: ../src/flecs/distr/flecs.c:71269:74: error: invalid conversion from ‘void*’ to ‘const EcsIdentifier*’ [-fpermissive] 71269 | const EcsIdentifier *names = l.table->data.columns[op_ctx->name_col].data; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_toggle_cmp(const ecs_query_op_t*, bool, ecs_query_run_ctx_t*, ecs_flags64_t, ecs_flags64_t)’: ../src/flecs/distr/flecs.c:71551:1: error: jump to label ‘next_block’ [-fpermissive] 71551 | next_block: | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:71595:14: note: from here 71595 | goto next_block; | ^~~~~~~~~~ ../src/flecs/distr/flecs.c:71536:32: note: skips initialization of ‘flecs_query_row_mask_t row_mask’ 71536 | flecs_query_row_mask_t row_mask = flecs_query_get_row_mask( | ^~~~~~~~ ../src/flecs/distr/flecs.c:71613:1: error: jump to label ‘done’ 71613 | done: | ^~~~ ../src/flecs/distr/flecs.c:71556:22: note: from here 71556 | goto done; | ^~~~ ../src/flecs/distr/flecs.c:71568:13: note: crosses initialization of ‘int32_t last_bit’ 71568 | int32_t last_bit = ECS_MIN(64, last - (block_index * 64)); | ^~~~~~~~ ../src/flecs/distr/flecs.c:71567:13: note: crosses initialization of ‘int32_t first_bit’ 71567 | int32_t first_bit = cur - (block_index * 64); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:71613:1: error: jump to label ‘done’ 71613 | done: | ^~~~ ../src/flecs/distr/flecs.c:71544:22: note: from here 71544 | goto done; | ^~~~ ../src/flecs/distr/flecs.c:71568:13: note: crosses initialization of ‘int32_t last_bit’ 71568 | int32_t last_bit = ECS_MIN(64, last - (block_index * 64)); | ^~~~~~~~ ../src/flecs/distr/flecs.c:71567:13: note: crosses initialization of ‘int32_t first_bit’ 71567 | int32_t first_bit = cur - (block_index * 64); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:71613:1: error: jump to label ‘done’ 71613 | done: | ^~~~ ../src/flecs/distr/flecs.c:71515:18: note: from here 71515 | goto done; | ^~~~ ../src/flecs/distr/flecs.c:71568:13: note: crosses initialization of ‘int32_t last_bit’ 71568 | int32_t last_bit = ECS_MIN(64, last - (block_index * 64)); | ^~~~~~~~ ../src/flecs/distr/flecs.c:71567:13: note: crosses initialization of ‘int32_t first_bit’ 71567 | int32_t first_bit = cur - (block_index * 64); | ^~~~~~~~~ ../src/flecs/distr/flecs.c:71531:41: note: crosses initialization of ‘int32_t row’ 71531 | int32_t new_block_index = cur / 64, row = first; | ^~~ ../src/flecs/distr/flecs.c:71531:13: note: crosses initialization of ‘int32_t new_block_index’ 71531 | int32_t new_block_index = cur / 64, row = first; | ^~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_trav_unknown_src_up_fixed_second(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*)’: ../src/flecs/distr/flecs.c:71844:43: error: invalid conversion from ‘void*’ to ‘ecs_trav_elem_t*’ [-fpermissive] 71844 | ecs_trav_elem_t *elems = ecs_vec_first(&trav_ctx->cache.entities); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:71847:19: error: expected unqualified-id before ‘and’ token 71847 | trav_ctx->and.idr = el->idr; /* prevents lookup by select */ | ^~~ ../src/flecs/distr/flecs.c:71847:22: error: expected primary-expression before ‘.’ token 71847 | trav_ctx->and.idr = el->idr; /* prevents lookup by select */ | ^ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_union_with_wildcard(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*, ecs_entity_t, bool)’: ../src/flecs/distr/flecs.c:72035:54: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 72035 | ecs_entity_t tgt = flecs_switch_get(op_ctx->idr->sparse, (uint32_t)e); | ~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31678:25: note: initializing argument 1 of ‘uint64_t flecs_switch_get(const ecs_switch_t*, uint32_t)’ 31678 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_union_with_tgt(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*, ecs_entity_t, ecs_entity_t, bool)’: ../src/flecs/distr/flecs.c:72099:56: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 72099 | ecs_entity_t e_tgt = flecs_switch_get(op_ctx->idr->sparse, (uint32_t)e); | ~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31678:25: note: initializing argument 1 of ‘uint64_t flecs_switch_get(const ecs_switch_t*, uint32_t)’ 31678 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_union_select_tgt(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*, ecs_entity_t, ecs_entity_t)’: ../src/flecs/distr/flecs.c:72157:55: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 72157 | op_ctx->cur = flecs_switch_first(op_ctx->idr->sparse, tgt); | ~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31692:25: note: initializing argument 1 of ‘uint32_t flecs_switch_first(const ecs_switch_t*, uint64_t)’ 31692 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c:72159:54: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 72159 | op_ctx->cur = flecs_switch_next(op_ctx->idr->sparse, (uint32_t)op_ctx->cur); | ~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31705:25: note: initializing argument 1 of ‘uint32_t flecs_switch_next(const ecs_switch_t*, uint32_t)’ 31705 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_union_select_wildcard(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.c:72193:62: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 72193 | op_ctx->tgt_iter = flecs_switch_targets(op_ctx->idr->sparse); | ~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31720:25: note: initializing argument 1 of ‘ecs_map_iter_t flecs_switch_targets(const ecs_switch_t*)’ 31720 | const ecs_switch_t *sw) | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c:72209:55: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 72209 | op_ctx->cur = flecs_switch_first(op_ctx->idr->sparse, op_ctx->tgt); | ~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31692:25: note: initializing argument 1 of ‘uint32_t flecs_switch_first(const ecs_switch_t*, uint64_t)’ 31692 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c:72211:54: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 72211 | op_ctx->cur = flecs_switch_next(op_ctx->idr->sparse, (uint32_t)op_ctx->cur); | ~~~~~~~~~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31705:25: note: initializing argument 1 of ‘uint32_t flecs_switch_next(const ecs_switch_t*, uint32_t)’ 31705 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_union_set_shared(const ecs_query_op_t*, const ecs_query_run_ctx_t*)’: ../src/flecs/distr/flecs.c:72286:46: error: invalid conversion from ‘void*’ to ‘const ecs_switch_t*’ [-fpermissive] 72286 | ecs_entity_t tgt = flecs_switch_get(idr->sparse, (uint32_t)src); | ~~~~~^~~~~~ | | | void* ../src/flecs/distr/flecs.c:31678:25: note: initializing argument 1 of ‘uint64_t flecs_switch_get(const ecs_switch_t*, uint32_t)’ 31678 | const ecs_switch_t *sw, | ~~~~~~~~~~~~~~~~~~~~^~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_union_self_up(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*)’: ../src/flecs/distr/flecs.c:72337:1: error: jump to label ‘next_for_union’ 72337 | next_for_union: | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:72322:18: note: from here 72322 | goto next_for_union; | ^~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:72331:21: note: crosses initialization of ‘ecs_iter_t* it’ 72331 | ecs_iter_t *it = ctx->it; | ^~ ../src/flecs/distr/flecs.c:72330:16: note: crosses initialization of ‘int8_t field_index’ 72330 | int8_t field_index = op->field_index; | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_self_up_with(const ecs_query_op_t*, bool, const ecs_query_run_ctx_t*, bool)’: ../src/flecs/distr/flecs.c:72682:61: error: expected unqualified-id before ‘and’ token 72682 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~ ../src/flecs/distr/flecs.c:2045:61: note: in definition of macro ‘flecs_op_ctx’ 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^~~~~~~ ../src/flecs/distr/flecs.c:2045:68: error: expected primary-expression before ‘)’ token 2045 | #define flecs_op_ctx(ctx, op_kind) (&flecs_op_ctx_(ctx)->is.op_kind) | ^ ../src/flecs/distr/flecs.c:72682:43: note: in expansion of macro ‘flecs_op_ctx’ 72682 | ecs_query_and_ctx_t *op_ctx = flecs_op_ctx(ctx, and); | ^~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_query_build_down_cache(ecs_world_t*, ecs_allocator_t*, const ecs_query_run_ctx_t*, ecs_trav_cache_t*, ecs_entity_t, ecs_entity_t)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:73162:22: note: in expansion of macro ‘flecs_table_cache_next’ 73162 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_trav_down_t* flecs_trav_down_ensure(const ecs_query_run_ctx_t*, ecs_trav_up_cache_t*, ecs_entity_t)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_map_val_t*’ {aka ‘long unsigned int*’} to type ‘ecs_trav_down_t**’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1852:37: note: in expansion of macro ‘ECS_CAST’ 1852 | #define ecs_map_ensure_ref(m, T, k) ECS_CAST(T**, ecs_map_ensure(m, k)) | ^~~~~~~~ ../src/flecs/distr/flecs.c:73319:30: note: in expansion of macro ‘ecs_map_ensure_ref’ 73319 | ecs_trav_down_t **trav = ecs_map_ensure_ref( | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2591:22: error: invalid conversion from ‘void*’ to ‘ecs_trav_down_t*’ [-fpermissive] 2591 | flecs_iter_calloc(it, ECS_SIZEOF(T), ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:73322:19: note: in expansion of macro ‘flecs_iter_calloc_t’ 73322 | trav[0] = flecs_iter_calloc_t(ctx->it, ecs_trav_down_t); | ^~~~~~~~~~~~~~~~~~~ In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘void flecs_trav_entity_down_isa(ecs_world_t*, ecs_allocator_t*, ecs_trav_up_cache_t*, ecs_trav_down_t*, ecs_entity_t, ecs_entity_t, ecs_id_record_t*, bool, bool)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:73399:22: note: in expansion of macro ‘flecs_table_cache_next’ 73399 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_trav_down_t* flecs_trav_entity_down(ecs_world_t*, ecs_allocator_t*, ecs_trav_up_cache_t*, ecs_trav_down_t*, ecs_entity_t, ecs_entity_t, ecs_id_record_t*, ecs_id_record_t*, bool, bool)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:73468:22: note: in expansion of macro ‘flecs_table_cache_next’ 73468 | while ((tr = flecs_table_cache_next(&it, ecs_table_record_t))) { | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘void flecs_query_down_cache_fini(ecs_allocator_t*, ecs_trav_up_cache_t*)’: ../src/flecs/distr/flecs.h:879:36: error: invalid conversion from ‘void*’ to ‘ecs_trav_down_t*’ [-fpermissive] 879 | #define ECS_PTR_CAST(type, value) (reinterpret_cast(value)) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.h:1861:25: note: in expansion of macro ‘ECS_PTR_CAST’ 1861 | #define ecs_map_ptr(it) ECS_PTR_CAST(void*, ECS_CAST(uintptr_t, ecs_map_value(it))) | ^~~~~~~~~~~~ ../src/flecs/distr/flecs.c:73564:30: note: in expansion of macro ‘ecs_map_ptr’ 73564 | ecs_trav_down_t *t = ecs_map_ptr(&it); | ^~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_trav_up_t* flecs_trav_up_ensure(const ecs_query_run_ctx_t*, ecs_trav_up_cache_t*, uint64_t)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_map_val_t*’ {aka ‘long unsigned int*’} to type ‘ecs_trav_up_t**’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.h:1852:37: note: in expansion of macro ‘ECS_CAST’ 1852 | #define ecs_map_ensure_ref(m, T, k) ECS_CAST(T**, ecs_map_ensure(m, k)) | ^~~~~~~~ ../src/flecs/distr/flecs.c:73582:28: note: in expansion of macro ‘ecs_map_ensure_ref’ 73582 | ecs_trav_up_t **trav = ecs_map_ensure_ref( | ^~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:2591:22: error: invalid conversion from ‘void*’ to ‘ecs_trav_up_t*’ [-fpermissive] 2591 | flecs_iter_calloc(it, ECS_SIZEOF(T), ECS_ALIGNOF(T)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c:73585:19: note: in expansion of macro ‘flecs_iter_calloc_t’ 73585 | trav[0] = flecs_iter_calloc_t(ctx->it, ecs_trav_up_t); | ^~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘int32_t flecs_trav_type_search(ecs_trav_up_t*, const ecs_table_t*, ecs_id_record_t*, ecs_type_t*)’: ../src/flecs/distr/flecs.c:73598:49: error: invalid conversion from ‘void*’ to ‘ecs_table_record_t*’ [-fpermissive] 73598 | ecs_table_record_t *tr = ecs_table_cache_get(&idr_with->cache, table); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* ../src/flecs/distr/flecs.c: In function ‘ecs_trav_up_t* flecs_trav_table_up(const ecs_query_run_ctx_t*, ecs_allocator_t*, ecs_trav_up_cache_t*, const ecs_world_t*, ecs_entity_t, ecs_id_t, ecs_id_t, ecs_id_record_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.c:73718:1: error: jump to label ‘not_found’ 73718 | not_found: | ^~~~~~~~~ ../src/flecs/distr/flecs.c:73651:14: note: from here 73651 | goto not_found; | ^~~~~~~~~ ../src/flecs/distr/flecs.c:73660:19: note: crosses initialization of ‘ecs_flags32_t flags’ 73660 | ecs_flags32_t flags = table->flags; | ^~~~~ ../src/flecs/distr/flecs.c:73654:16: note: crosses initialization of ‘ecs_type_t type’ 73654 | ecs_type_t type = table->type; | ^~~~ ../src/flecs/distr/flecs.c:73720:1: error: jump to label ‘found’ 73720 | found: | ^~~~~ ../src/flecs/distr/flecs.c:73657:14: note: from here 73657 | goto found; | ^~~~~ ../src/flecs/distr/flecs.c:73660:19: note: crosses initialization of ‘ecs_flags32_t flags’ 73660 | ecs_flags32_t flags = table->flags; | ^~~~~ ../src/flecs/distr/flecs.c: In function ‘ecs_trav_up_t* flecs_query_get_up_cache(const ecs_query_run_ctx_t*, ecs_trav_up_cache_t*, ecs_table_t*, ecs_id_t, ecs_entity_t, ecs_id_record_t*, ecs_id_record_t*)’: ../src/flecs/distr/flecs.c:73748:49: error: invalid conversion from ‘void*’ to ‘ecs_table_record_t*’ [-fpermissive] 73748 | ecs_table_record_t *tr = ecs_table_cache_get(&idr_trav->cache, table); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ | | | void* In file included from ../src/flecs/distr/flecs.c:19: ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_trivial_search(const ecs_query_run_ctx_t*, ecs_query_trivial_ctx_t*, bool, ecs_flags64_t)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:73848:40: note: in expansion of macro ‘flecs_table_cache_next’ 73848 | const ecs_table_record_t *tr = flecs_table_cache_next( | ^~~~~~~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c: In function ‘bool flecs_query_is_trivial_search(const ecs_query_run_ctx_t*, ecs_query_trivial_ctx_t*, bool)’: ../src/flecs/distr/flecs.h:865:25: error: invalid ‘static_cast’ from type ‘ecs_table_cache_hdr_t*’ to type ‘ecs_table_record_t*’ 865 | #define ECS_CAST(T, V) (static_cast(V)) | ^~~~~~~~~~~~~~~~~ ../src/flecs/distr/flecs.c:1114:6: note: in expansion of macro ‘ECS_CAST’ 1114 | (ECS_CAST(T*, flecs_table_cache_next_(it))) | ^~~~~~~~ ../src/flecs/distr/flecs.c:73908:40: note: in expansion of macro ‘flecs_table_cache_next’ 73908 | const ecs_table_record_t *tr = flecs_table_cache_next( | ^~~~~~~~~~~~~~~~~~~~~~