Hello, this patch fixes warnings like this in Dolphin
Socket.cpp:762:5: warning: comparison of integers of different signs: 'SOCKET' (aka 'unsigned long long') and 'const s32' (aka 'const int') [-Wsign-compare] 762 | FD_SET(fd, &write_fds); | ^~~~~~~~~~~~~~~~~~~~~~ C:/msys64/clang64/include/psdk_inc/_fd_types.h:77:40: note: expanded from macro 'FD_SET' 77 | if (((fd_set *)(set))->fd_array[__i] == (fd)) { \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~ This happens because on Windows a socket is unsigned and on Linux it is signed and this is cross platform code. Best regards Oleg Tolmatcev
From be6cad960b6ffb22797756b9d82e34bd372959c2 Mon Sep 17 00:00:00 2001 From: Oleg Tolmatcev <oleg.tolmat...@gmail.com> Date: Sat, 25 Nov 2023 00:41:31 +0100 Subject: [PATCH] headers: cast fd to SOCKET in macros --- mingw-w64-headers/include/psdk_inc/_fd_types.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mingw-w64-headers/include/psdk_inc/_fd_types.h b/mingw-w64-headers/include/psdk_inc/_fd_types.h index e3a5da62..18dcbe49 100644 --- a/mingw-w64-headers/include/psdk_inc/_fd_types.h +++ b/mingw-w64-headers/include/psdk_inc/_fd_types.h @@ -39,7 +39,7 @@ int WINAPI __WSAFDIsSet(SOCKET,fd_set *); do { \ u_int __i; \ for(__i = 0; __i < ((fd_set *)(set))->fd_count; __i++) { \ - if (((fd_set *)(set))->fd_array[__i] == fd) { \ + if (((fd_set *)(set))->fd_array[__i] == (SOCKET)(fd)) { \ while (__i < ((fd_set *)(set))->fd_count - 1) { \ ((fd_set *)(set))->fd_array[__i] = \ ((fd_set *)(set))->fd_array[__i + 1]; \ @@ -74,13 +74,13 @@ int WINAPI __WSAFDIsSet(SOCKET,fd_set *); do { \ u_int __i; \ for(__i = 0; __i < ((fd_set *)(set))->fd_count; __i++) { \ - if (((fd_set *)(set))->fd_array[__i] == (fd)) { \ + if (((fd_set *)(set))->fd_array[__i] == (SOCKET)(fd)) { \ break; \ } \ } \ if (__i == ((fd_set *)(set))->fd_count) { \ if (((fd_set *)(set))->fd_count < FD_SETSIZE) { \ - ((fd_set *)(set))->fd_array[__i] = (fd); \ + ((fd_set *)(set))->fd_array[__i] = (SOCKET)(fd);\ ((fd_set *)(set))->fd_count++; \ } \ } \ @@ -91,7 +91,7 @@ int WINAPI __WSAFDIsSet(SOCKET,fd_set *); do { \ if (((fd_set *)(set))->fd_count < FD_SETSIZE) \ ((fd_set *)(set))->fd_array[((fd_set *)(set))->fd_count++] =\ - (fd);\ + (SOCKET)(fd);\ } while(0) #endif /* _WINSOCK2API_ */ #endif /* !FD_SET */ -- 2.43.0.windows.1
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public