https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82283
--- Comment #5 from Yann Droneaud <yann at droneaud dot fr> ---
For a full combo, here's the almost original code that trigger the two errors
above with GLibc < 2.28, only one with newer Glibc.
#define _GNU_SOURCE 1
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/socket.h>
int test(int fd)
{
static const char message[] = "Hello world";
struct sockaddr_in addr = {
.sin_family = AF_INET,
.sin_addr.s_addr = htonl(INADDR_LOOPBACK),
.sin_port = htons(12345),
};
struct iovec vec = {
.iov_base = (void *)message,
.iov_len = sizeof(message),
};
struct mmsghdr mmsghdr = {
.msg_hdr = (struct msghdr) {
.msg_name = &addr,
.msg_namelen = sizeof(addr),
.msg_iov = &vec,
.msg_iovlen = 1,
},
};
return sendmmsg(fd, &mmsghdr, 1, 0);
}
see https://godbolt.org/z/pwXyzE