[PATCH v2] Cygwin: Fix type mismatch on sys/cpuset.h

Mark Geisert mark@maxrnd.com
Sun Jul 2 22:05:07 GMT 2023


Hi all,

Brian Inglis wrote:
> On 2023-07-01 08:20, Jon Turney wrote:
>> On 14/03/2023 08:56, Mark Geisert wrote:
>>> Addresses https://cygwin.com/pipermail/cygwin/2023-March/253220.html
>>>
>>> Take the opportunity to follow FreeBSD's and Linux's lead in recasting
>>> macro inline code as calls to static inline functions.  This allows the
>>> macros to be type-safe.  In addition, added a lower bound check to the
>>> functions that use a cpu number to avoid a potential buffer underrun on
>>> a bad argument.  h/t to Corinna for the advice on recasting.
>>>
>>> Fixes: 362b98b49af5 ("Cygwin: Implement CPU_SET(3) macros")
> 
>> There's been a couple of reports that this leads to compilation failures when 
>> this header is included in -std=c89 mode.
>> Solutions are probably something like:
>> * Use __inline__ rather than inline
>> * Don't use initial declaration inside the for loop's init-statement
>> e.g. https://github.com/tinyproxy/tinyproxy/issues/499
> 
> /usr/include/sys/cdefs.h appears to support using __inline instead of __inline__ 
> or inline, and is included many places __inline is used: it appears to be 
> necessary, but may not be sufficient.

Thanks for the report and investigations.  I'll address this shortly.

..mark


More information about the Cygwin-patches mailing list