On 7/27/22 2:57 PM, Dylan Yudaken wrote:
Interestingly it did not show up on the Github CI either. What flags are you setting for this? Maybe the CI can be expanded to include those flags. As you say its not the first time you've fixed this, or that I've done this.
I use the same flag with the GitHub CI. Just a small experiment here... I compile this with default compilation flags: #include <arpa/inet.h> #include <sys/socket.h> #include <sys/types.h> int main(void) { struct sockaddr_in addr = { }; return bind(0, &addr, sizeof(addr)); } =============================================================================== ammarfaizi2@integral2:/tmp$ gcc test.c -o test test.c: In function ‘main’: test.c:9:24: warning: passing argument 2 of ‘bind’ from incompatible pointer type [-Wincompatible-pointer-types] 9 | return bind(0, &addr, sizeof(addr)); | ^~~~~ | | | struct sockaddr_in * In file included from /usr/include/netinet/in.h:23, from /usr/include/arpa/inet.h:22, from test.c:2: /usr/include/x86_64-linux-gnu/sys/socket.h:112:49: note: expected ‘const struct sockaddr *’ but argument is of type ‘struct sockaddr_in *’ 112 | extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) | =============================================================================== ammarfaizi2@integral2:/tmp$ clang test.c -o test test.c:9:17: warning: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'const struct sockaddr *' [-Wincompatible-pointer-types] return bind(0, &addr, sizeof(addr)); ^~~~~ /usr/include/x86_64-linux-gnu/sys/socket.h:112:49: note: passing argument to parameter '__addr' here extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) ^ 1 warning generated. =============================================================================== Interestingly GCC also complains here, but it doesn't complain when compiling your code. Your code only breaks my clang-13. What is the magic behind this? We never disable -Wincompatible-pointer-types in liburing either. It's enabled by default. -- Ammar Faizi