![]() |
|
Message-ID: <2e176da1-75d4-4823-9ae9-8ec6a168f695@pgbackrest.org> Date: Fri, 23 May 2025 15:28:23 +0000 (UTC) From: David Steele <david@...ackrest.org> To: musl@...ts.openwall.com Subject: Sign conversion warning in FD_ISSET() Greetings, I'm getting a warning when compiling on Alpine 3.21 with musl libc 1.2.5: # /lib/libc.musl-aarch64.so.1 musl libc (aarch64) Version 1.2.5 The code looks like this (simplified for this example, see original at (https://github.com/pgbackrest/pgbackrest/blob/release/2.55.1/src/protocol/parallel.c#L163): int fd = getFdFunc(); if (FD_ISSET(fd, &selectSet)) And I get this warning when -Wsign-conversion is enabled on gcc: ../../pgbackrest/src/protocol/parallel.c:164:25: error: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Werror=sign-conversion] 164 | if (FD_ISSET(fd, &selectSet)) Here's the cc output from ninja: [3/4] cc -Isrc/pgbackrest.p -Isrc -I../../pgbackrest/src -Isrc/command/help -Isrc/postgres -I/usr/include/postgresql -I/usr/include/libxml2 -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c99 -O3 -Wcast-qual -Wconversion -Wduplicated-cond -Wduplicated-branches -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Winit-self -Wmissing-prototypes -Wmissing-variable-declarations -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wvla -Wwrite-strings -Wno-clobbered -Wno-missing-field-initializers -funroll-loops -ftree-vectorize -fmacro-prefix-map=../../pgbackrest/src/= -fmacro-prefix-map=../../pgbackrest/test/src/=test/ -D_POSIX_C_SOURCE=200809L -MD -MQ src/pgbackrest.p/protocol_parallel.c.o -MF src/pgbackrest.p/protocol_parallel.c.o.d -o src/pgbackrest.p/protocol_parallel.c.o -c ../../pgbackrest/src/protocol/parallel.c I can fix this by casting to long unsigned int, but it seems like FD_ISSET() should accept int without complaint like the associate macros and functions. Please CC me on any response since I am not subscribed to the mailing list. Thanks, -David
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.