X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0E555386102D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1596464983; bh=+so8twT7OcLN6oVmSeLq7SB310rfW6h+aMDiXDxWdOU=; h=Date:From:To:Subject:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Reply-To:From; b=PIPF6Dw/neECMtjz98xeecJ3447L99s0TmBuEK63hlqbykTQALIMCd0AMJrm+dQU9 FILqv5dPSnCHyUfhg0NrmtzkUp8fhecQ9VbpHOQYXhNrjjuXZeAr+P8pu8pSHwVFjv pHER0LledZGx0g4sqRUCrZ5SvuMLwSZ1wA+nZaZg= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EF6C13858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=corinna-cygwin AT cygwin DOT com Date: Mon, 3 Aug 2020 16:29:35 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: FD_{SET,ISSET,CLR} macros from sys/select.h triggerring gcc's -Wsign-conversion warnings Message-ID: <20200803142935.GQ460314@calimero.vinschen.de> Mail-Followup-To: cygwin AT cygwin DOT com References: <1f188b7e-6dc4-73af-e458-013760210469 AT gmail DOT com> <20200803104552 DOT GJ460314 AT calimero DOT vinschen DOT de> <92f5646d-2a24-e3a4-f3e1-934416335e8d AT gmail DOT com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <92f5646d-2a24-e3a4-f3e1-934416335e8d@gmail.com> X-Provags-ID: V03:K1:VaeCGy2eiDoPSkYNoKTFtML6YY74He1CHP0NSv0UwgUqeqSQfVs QloJBsgDHf3dzBpws1ro3kVVId56NJEhAsFvSjggtYJ5sDtM6/yh/PuEv4gJOGKLD6Xpy/A FUJR2ZFLLnX/JWYCRfmcpMWD7uPv9xSUfA6iJwphPCJ1tCVb8GQjZiLg0o5e+UXHYnavBQ1 VVQCuR2jTIXMnV8Fud+gw== X-UI-Out-Filterresults: notjunk:1;V03:K0:cTqCK56bBVU=:e2rhgqj8CoG2ZhvDoKylYa JhexfSU2ens+tJLOmx9/QsWFyZ8lervnZcE89RFJmw+t2IVHDi1itBv9qIW+/ge5+EXZ2vuy3 XhxUvbKXmNf8zzEcAj5ZMMmoGZGdioFD1Ux11UMqUFert7wbeAss+Kpi5NCcPK5mw0TjC9DZR WoD4oTV7TEA/2s+IcE2I2RD3pnu2uTqkVi9o23bH1EDybh/kaivtMD92+0rOoLqgQW20mIgZD 8e3ydfWcMEiphVCoDBUDAE/6RPlmODd0su87P4Wl8tHKwkU/WFRnKJcvU5Af40BB1kCrFuhWu BXYxTRj4ke8GznN8DKMDNM5of4VAwpi+owG7gf5p3rjU+KohvqUXP1XAuffL51TUMMygG7ftx qWHcqJ/bB4oc4VHpQxRV6hwMmRTua5nbn4A0+Y3OvgfFis+yjpDYYTsvXT7t+PAFMhct+nYny 4thL1juOEDGqi+CuYYz/rBtTg/p7tApk7W8A1Nog5UzskY4zaPirWG8+X2Ddksh2P5m6xvWqh iC8RQUPds+4YrgqlqJZU0kxH9yz4p/afnddsu8MU6phIgWLgqODWK88XdCzkfVXi+WAQIl3aa bKoNHSv7Y/jweqtPg2MQaty9KdOfUUA5+AuwlQVAIDplsSobJvO2zYelEDa5bhay78EyrZqfn BVSbB/1VbANDO9aAUGNCxIGCRRZMzGoVsq9TOE6n2aRWOKUFjILPVm94P252Op47ruIPpNgp+ WUd7t4gHOiA6zXMCF3my0iqSfXlc21Qntue2orFlgkBfJuGcpqPsp7jx304bWpz5nCU/QPN6S hShZ1hzpw/cMAvWSdftI1lPN0CKxQkQeiqHwYtwxSAzqTf3OTd6TVFNA/YFevH7XVg99ZyFwt i8S+GOOEBasu2CyRbVgQ== X-Spam-Status: No, score=-99.6 required=5.0 tests=BAYES_00, GOOD_FROM_CORINNA_CYGWIN, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: cygwin AT cygwin DOT com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" On Aug 3 15:27, Petr Skocik via Cygwin wrote: > Thanks for the patch, Corinna! > > I also reported it to Musl which has very similar code (I guess because > of the same FreeBSD origins) > and it's been pointed out to me by Alexander Monakov that the int-cast > results in worse codegen because then the modulos/divisions need signed > division instructions and can no longer be optimized to shifts and masks > (glibc does the int-cast still). > > In light of that, if I were the maintainer, I think I'd just just make > the macros into inline functions (POSIX says it's unspecified whether > they're functions or macros) and cast the filedescriptor number to > unsigned internally or something similar. I thought about that as well, but I'd like to keep it as close to FreeBSD as possible. In theory, it would be even better to revert the additional cast and just live with the gcc warnings. > (The issue could well be attributed to gcc, too, because, arguably, (the > implicit) -Wno-system-headers should have silenced it even without the > explicit casts.) I didn't realize that. It's weird behaviour. > Anyway, sorry for all the fuss about such a negligible issue, but I > guess fixing it (in whatever way) does make > the lib a tiny bit more pleasant to use. No worries. Corinna -- Corinna Vinschen Cygwin Maintainer -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple