Open ghost opened 1 year ago
After all of these issues resolved: https://github.com/gozfree/gear-lib/issues/99 https://github.com/gozfree/gear-lib/issues/100 https://github.com/gozfree/gear-lib/issues/101, libposix.a now built as expected.
libposix.a
Only for us to stuck with libhash.c.
libhash.c
UCRT64 GCC:
$ ninja -j1 [1/70] Building C object gear-lib/libposix/CMakeFiles/posix.dir/libposix.c.obj [2/70] Linking C static library build\lib\libposix.a [3/70] Building C object gear-lib/libstrex/CMakeFiles/strex.dir/libstrex.c.obj [4/70] Building C object gear-lib/libstrex/CMakeFiles/strex.dir/test_libstrex.c.obj [5/70] Linking C static library build\lib\libstrex.a [6/70] Building C object gear-lib/libdict/CMakeFiles/dict.dir/libdict.c.obj [7/70] Building C object gear-lib/libdict/CMakeFiles/dict.dir/test_libdict.c.obj [8/70] Linking C static library build\lib\libdict.a [9/70] Building C object gear-lib/libhash/CMakeFiles/hash.dir/libhash.c.obj FAILED: gear-lib/libhash/CMakeFiles/hash.dir/libhash.c.obj C:\msys64\ucrt64\bin\cc.exe -IC:/msys64/home/Administrator/gear-lib/gear-lib/libhash/. -IC:/msys64/home/Administrator/gear-lib/gear-lib/libposix -MD -MT gear-lib/libhash/CMakeFiles/hash.dir/libhash.c.obj -MF gear-lib\libhash\CMakeFiles\hash.dir\libhash.c.obj.d -o gear-lib/libhash/CMakeFiles/hash.dir/libhash.c.obj -c C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c In file included from C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/libposix4win.h:42, from C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/libposix.h:45, from C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:23: C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c: In function 'hash_lookup': C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:31: error: invalid initializer 746 | ({ ptr_type ____ptr = (ptr); \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: note: in expansion of macro 'hlist_for_each_entry_safe' 150 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:20: error: used struct type value where scalar is required 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: note: in expansion of macro 'hlist_for_each_entry_safe' 150 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:42: error: cannot convert to a pointer type 150 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:42: note: in definition of macro 'container_of' 59 | #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) | ^~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:22: note: in expansion of macro 'hlist_entry' 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: note: in expansion of macro 'hlist_for_each_entry_safe' 150 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:31: error: invalid initializer 746 | ({ ptr_type ____ptr = (ptr); \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: note: in expansion of macro 'hlist_for_each_entry_safe' 150 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:20: error: used struct type value where scalar is required 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: note: in expansion of macro 'hlist_for_each_entry_safe' 150 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:42: error: cannot convert to a pointer type 150 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:42: note: in definition of macro 'container_of' 59 | #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) | ^~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:22: note: in expansion of macro 'hlist_entry' 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: note: in expansion of macro 'hlist_for_each_entry_safe' 150 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c: In function 'hash_destroy': C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:31: error: invalid initializer 746 | ({ ptr_type ____ptr = (ptr); \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: note: in expansion of macro 'hlist_for_each_entry_safe' 194 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:20: error: used struct type value where scalar is required 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: note: in expansion of macro 'hlist_for_each_entry_safe' 194 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:46: error: cannot convert to a pointer type 194 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { | ^~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:42: note: in definition of macro 'container_of' 59 | #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) | ^~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:22: note: in expansion of macro 'hlist_entry' 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: note: in expansion of macro 'hlist_for_each_entry_safe' 194 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:31: error: invalid initializer 746 | ({ ptr_type ____ptr = (ptr); \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: note: in expansion of macro 'hlist_for_each_entry_safe' 194 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:20: error: used struct type value where scalar is required 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: note: in expansion of macro 'hlist_for_each_entry_safe' 194 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:46: error: cannot convert to a pointer type 194 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { | ^~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:42: note: in definition of macro 'container_of' 59 | #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) | ^~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:22: note: in expansion of macro 'hlist_entry' 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: note: in expansion of macro 'hlist_for_each_entry_safe' 194 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c: In function 'hash_get_all_cnt': C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:31: error: invalid initializer 746 | ({ ptr_type ____ptr = (ptr); \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: note: in expansion of macro 'hlist_for_each_entry_safe' 317 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:20: error: used struct type value where scalar is required 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: note: in expansion of macro 'hlist_for_each_entry_safe' 317 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:46: error: cannot convert to a pointer type 317 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:42: note: in definition of macro 'container_of' 59 | #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) | ^~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:22: note: in expansion of macro 'hlist_entry' 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: note: in expansion of macro 'hlist_for_each_entry_safe' 317 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:31: error: invalid initializer 746 | ({ ptr_type ____ptr = (ptr); \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: note: in expansion of macro 'hlist_for_each_entry_safe' 317 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:20: error: used struct type value where scalar is required 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: note: in expansion of macro 'hlist_for_each_entry_safe' 317 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:46: error: cannot convert to a pointer type 317 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:42: note: in definition of macro 'container_of' 59 | #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) | ^~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:22: note: in expansion of macro 'hlist_entry' 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: note: in expansion of macro 'hlist_for_each_entry_safe' 317 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c: In function 'hash_dump_all': C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:31: error: invalid initializer 746 | ({ ptr_type ____ptr = (ptr); \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:9: note: in expansion of macro 'hlist_for_each_entry_safe' 338 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:20: error: used struct type value where scalar is required 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:9: note: in expansion of macro 'hlist_for_each_entry_safe' 338 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:46: error: cannot convert to a pointer type 338 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:42: note: in definition of macro 'container_of' 59 | #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) | ^~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:22: note: in expansion of macro 'hlist_entry' 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:20: note: in expansion of macro 'hlist_entry_safe' 788 | for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:9: note: in expansion of macro 'hlist_for_each_entry_safe' 338 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:31: error: invalid initializer 746 | ({ ptr_type ____ptr = (ptr); \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:9: note: in expansion of macro 'hlist_for_each_entry_safe' 338 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:20: error: used struct type value where scalar is required 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:9: note: in expansion of macro 'hlist_for_each_entry_safe' 338 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:46: error: cannot convert to a pointer type 338 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:42: note: in definition of macro 'container_of' 59 | #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) | ^~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:22: note: in expansion of macro 'hlist_entry' 747 | ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ | ^~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:20: note: in expansion of macro 'hlist_entry_safe' 790 | pos = hlist_entry_safe(n, n_type, pos_type, member)) | ^~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:9: note: in expansion of macro 'hlist_for_each_entry_safe' 338 | hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ninja: build stopped: subcommand failed.
CLANG64:
$ ninja -j1 [1/70] Building C object gear-lib/libposix/CMakeFiles/posix.dir/libposix.c.obj [2/70] Linking C static library build\lib\libposix.a [3/70] Building C object gear-lib/libstrex/CMakeFiles/strex.dir/libstrex.c.obj [4/70] Building C object gear-lib/libstrex/CMakeFiles/strex.dir/test_libstrex.c.obj [5/70] Linking C static library build\lib\libstrex.a [6/70] Building C object gear-lib/libdict/CMakeFiles/dict.dir/libdict.c.obj [7/70] Building C object gear-lib/libdict/CMakeFiles/dict.dir/test_libdict.c.obj [8/70] Linking C static library build\lib\libdict.a [9/70] Building C object gear-lib/libhash/CMakeFiles/hash.dir/libhash.c.obj FAILED: gear-lib/libhash/CMakeFiles/hash.dir/libhash.c.obj C:\msys64\clang64\bin\cc.exe -IC:/msys64/home/Administrator/gear-lib/gear-lib/libhash/. -IC:/msys64/home/Administrator/gear-lib/gear-lib/libposix -MD -MT gear-lib/libhash/CMakeFiles/hash.dir/libhash.c.obj -MF gear-lib\libhash\CMakeFiles\hash.dir\libhash.c.obj.d -o gear-lib/libhash/CMakeFiles/hash.dir/libhash.c.obj -c C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: error: initializing 'struct hlist_node' with an expression of incompatible type 'struct hlist_node *'; dereference with * hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:13: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:14: note: expanded from macro 'hlist_entry_safe' ({ ptr_type ____ptr = (ptr); \ ^ ~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: error: operand of type 'struct hlist_node' where arithmetic or pointer type is required hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:13: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:27: note: expanded from macro 'hlist_entry_safe' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:736:53: note: expanded from macro 'hlist_entry' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:58: note: expanded from macro 'container_of' #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: error: assigning to 'struct hash_item *' from incompatible type 'void' hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:11: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: error: initializing 'struct hlist_node' with an expression of incompatible type 'struct hlist_node *'; dereference with * hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:13: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:14: note: expanded from macro 'hlist_entry_safe' ({ ptr_type ____ptr = (ptr); \ ^ ~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: error: operand of type 'struct hlist_node' where arithmetic or pointer type is required hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:13: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:27: note: expanded from macro 'hlist_entry_safe' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:736:53: note: expanded from macro 'hlist_entry' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:58: note: expanded from macro 'container_of' #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:150:5: error: assigning to 'struct hash_item *' from incompatible type 'void' hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:11: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: error: initializing 'struct hlist_node' with an expression of incompatible type 'struct hlist_node *'; dereference with * hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:13: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:14: note: expanded from macro 'hlist_entry_safe' ({ ptr_type ____ptr = (ptr); \ ^ ~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: error: operand of type 'struct hlist_node' where arithmetic or pointer type is required hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:13: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:27: note: expanded from macro 'hlist_entry_safe' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:736:53: note: expanded from macro 'hlist_entry' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:58: note: expanded from macro 'container_of' #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: error: assigning to 'struct hash_item *' from incompatible type 'void' hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:11: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: error: initializing 'struct hlist_node' with an expression of incompatible type 'struct hlist_node *'; dereference with * hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:13: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:14: note: expanded from macro 'hlist_entry_safe' ({ ptr_type ____ptr = (ptr); \ ^ ~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: error: operand of type 'struct hlist_node' where arithmetic or pointer type is required hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:13: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:27: note: expanded from macro 'hlist_entry_safe' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:736:53: note: expanded from macro 'hlist_entry' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:58: note: expanded from macro 'container_of' #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:194:9: error: assigning to 'struct hash_item *' from incompatible type 'void' hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, &list[i], item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:11: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: error: initializing 'struct hlist_node' with an expression of incompatible type 'struct hlist_node *'; dereference with * hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:13: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:14: note: expanded from macro 'hlist_entry_safe' ({ ptr_type ____ptr = (ptr); \ ^ ~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: error: operand of type 'struct hlist_node' where arithmetic or pointer type is required hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:13: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:27: note: expanded from macro 'hlist_entry_safe' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:736:53: note: expanded from macro 'hlist_entry' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:58: note: expanded from macro 'container_of' #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: error: assigning to 'struct hash_item *' from incompatible type 'void' hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:11: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: error: initializing 'struct hlist_node' with an expression of incompatible type 'struct hlist_node *'; dereference with * hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:13: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:14: note: expanded from macro 'hlist_entry_safe' ({ ptr_type ____ptr = (ptr); \ ^ ~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: error: operand of type 'struct hlist_node' where arithmetic or pointer type is required hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:13: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:747:27: note: expanded from macro 'hlist_entry_safe' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:736:53: note: expanded from macro 'hlist_entry' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:59:58: note: expanded from macro 'container_of' #define container_of(ptr, type, member) (type *)((char *)ptr - offsetof(type, member)) ^~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:317:9: error: assigning to 'struct hash_item *' from incompatible type 'void' hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:790:11: note: expanded from macro 'hlist_for_each_entry_safe' pos = hlist_entry_safe(n, n_type, pos_type, member)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libhash/libhash.c:338:9: error: initializing 'struct hlist_node' with an expression of incompatible type 'struct hlist_node *'; dereference with * hlist_for_each_entry_safe(hi, struct hash_item, next, struct hlist_node, list, item) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:788:13: note: expanded from macro 'hlist_for_each_entry_safe' for (pos = hlist_entry_safe((head)->first, struct hlist_node, pos_type, member);\ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/kernel_list_win32.h:746:14: note: expanded from macro 'hlist_entry_safe' ({ ptr_type ____ptr = (ptr); \ ^ ~~~~~ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ninja: build stopped: subcommand failed.
I have the impression that we are not yet done with this annoying libposix yet. Too much of hassle, I will use TBOX instead. Goodbye.
libposix
the compile error is about macro of list_head on linux porting to windows. after msys2 change makefile to linux-like, the error will not occur. and the window version list_head already verified ok on MSVC.
After all of these issues resolved: https://github.com/gozfree/gear-lib/issues/99 https://github.com/gozfree/gear-lib/issues/100 https://github.com/gozfree/gear-lib/issues/101,
libposix.a
now built as expected.Only for us to stuck with
libhash.c
.UCRT64 GCC:
CLANG64:
I have the impression that we are not yet done with this annoying
libposix
yet. Too much of hassle, I will use TBOX instead. Goodbye.