This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix "/*" within comment warning


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]