[PATCH] Fix "/*" within comment warning

Yaakov Selkowitz yselkowitz@cygwin.com
Tue Mar 22 16:10:00 GMT 2016


On 2016-03-22 04:49, Corinna Vinschen wrote:
> On Mar 21 16:27, Corinna Vinschen wrote:
>> I mean, that was the whole point of asking this question.  If you read
>> https://sourceware.org/ml/newlib/2016/msg00282.html you see that I
>> specificially refer to these types, u_char, u_short, etc.  grep for them
>> on Linux and you'll see more then hundred header files using these
>> types.  They are guarded with __USE_MISC in sys/types.h and there's no
>> explicit enabling invocation in any of the files using these types.

Due to the incompatibility in licences between glibc and newlib/cygwin, 
I have been avoiding looking at the headers directly.

> So my proposal is this:
>
> diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
> index 52530c5..8ab8670 100644
> --- a/newlib/libc/include/sys/types.h
> +++ b/newlib/libc/include/sys/types.h
> @@ -90,8 +90,7 @@ typedef	quad_t *	qaddr_t;
>   #  define	quad		quad_t
>   #endif
>
> -/* These types are required by netinet/*.h on Cygwin */
> -#if __BSD_VISIBLE || defined(__CYGWIN__)
> +#if __MISC_VISIBLE
>   #ifndef _BSDTYPES_DEFINED
>   /* also defined in mingw/gmon.h and in w32api/winsock[2].h */
>   #ifndef __u_char_defined

That only works if the parts of our netinet/*.h which use these are 
similarly guarded, or their struct members converted to the u_intN_t 
types (as in netinet/ip6.h).  Unfortunately these headers are not well 
documented.

Could you tell me how the following are guarded:

netinet/ip.h:
* struct ip;
* struct ip_timestamp;
* IP_MAKE_VHL, IP_VHL_*
* IP_MAXPACKET
* IPTOS_*
* IPOPT_*, MAX_IPOPTLEN
* MAXTTL, IPDEFTTL, IPFRAGTTL, IPTTLDEC

netinet/tcp.h:
* struct tcphdr;
* TCPOPT_*, TCPOLEN_*
* TCP_NODELAY, TCP_MAXSEG, TCP_NOPUSH, TCP_NOOPT

netinet/udp.h:
* struct udphdr;

-- 
Yaakov



More information about the Newlib mailing list