delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/08/03/10:30:21

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 <corinna-cygwin AT cygwin DOT com>
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
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
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: cygwin AT cygwin DOT com
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019