www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2002/05/21/16:49:56

Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT cygwin DOT com>
List-Help: <mailto:cygwin-developers-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT cygwin DOT com
Delivered-To: mailing list cygwin-developers AT cygwin DOT com
From: "Gerald S. Williams" <gsw AT agere DOT com>
To: "Jason Tishler" <jason AT tishler DOT net>, <cygwin-developers AT cygwin DOT com>
Subject: RE: Should sys/types.h include sys/sysmacros.h?
Date: Tue, 21 May 2002 16:46:40 -0400
Message-ID: <GBEGLOMMCLDACBPKDIHFCEEJCIAA.gsw@agere.com>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
In-Reply-To: <20020501180344.GI3160@tishler.net>

Jason Tishler wrote:
> Actually, I just determined that sys/types.h includes cygwin/types.h.
> So, should I include sys/sysmacros.h in cygwin/types.h instead?

But cygwin/types.h includes sys/sysmacros.h already. I think
the problem is that sys/types.h isn't always including
cygwin/types.h. A closer look reveals that it doesn't do this
if _POSIX_THREADS is defined.

I don't know why it would only include cygwin/types.h if
_POSIX_THREADS isn't defined--perhaps that should be changed?

----

I also noticed that cygwin/types.h is including this header
file within an extern "C" statement under C++. I would have
thought that generally each header file should have its own
extern "C" if it's required, in which case this shouldn't
be done (extern "C" isn't a valid ANSI C construct). Perhaps
this:

 #ifdef __cplusplus
 extern "C"
 {
 #endif

 #ifndef _CYGWIN_TYPES_H
 #define _CYGWIN_TYPES_H

 #include <sys/sysmacros.h>

 ...

 #endif /* _CYGWIN_TYPES_H */

 #ifdef __cplusplus
 }
 #endif

should be changed to this?

 #ifndef _CYGWIN_TYPES_H
 #define _CYGWIN_TYPES_H

 #include <sys/sysmacros.h>

 #ifdef __cplusplus
 extern "C"
 {
 #endif

 ...

 #ifdef __cplusplus
 }
 #endif

 #endif /* _CYGWIN_TYPES_H */

-Jerry

- Raw text -


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