www.delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:mime-version:in-reply-to:references:date | |
:message-id:subject:from:to:content-type; q=dns; s=default; b=Rn | |
hffHXWzhb7LaPmKuNYXALU8M98eEjMNFuQ0mbqBflkFXR1wMrKNiz4BoEIwX7jVS | |
UEuCxSEA8/Jh5kUIMuhk5Zd+/OgWIRorPAW2t+dKcMGjVYYhmbBB0m7nBB0cG9dv | |
NNCMk03AMtfnHIlR52AFh1RovU3FfkVvisQQeGbws= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:mime-version:in-reply-to:references:date | |
:message-id:subject:from:to:content-type; s=default; bh=ZMGHHPcp | |
2ukO2moX1+L60wTS0xc=; b=lwyHCpBj7iQwnMZ5tlaNmDNx+lT7i7iGKbBrc709 | |
TwVYQzSCc5c8Fsd1FbtbklTF1LbJ9zVFhlCaIb+G5FFAY5cQq1d7U2fs97B2gq3p | |
0UGL/yronWpti9Frotv46OFBWv4z2cI87PdaJfLUozPNcEWydukn+GX4Xt+Pl+qP | |
P0k= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Authentication-Results: | sourceware.org; auth=none |
X-Virus-Found: | No |
X-Spam-SWARE-Status: | No, score=-0.5 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 |
X-HELO: | mail-oi0-f51.google.com |
MIME-Version: | 1.0 |
X-Received: | by 10.202.205.137 with SMTP id d131mr29978143oig.56.1450195115048; Tue, 15 Dec 2015 07:58:35 -0800 (PST) |
In-Reply-To: | <20151215093020.GA12827@calimero.vinschen.de> |
References: | <CAPYQg31yUkpu9oC1cfWTmxaBANBYcd4X18RY9Q+BVpx-o=nLBw AT mail DOT gmail DOT com> <20151214140649 DOT GB29983 AT calimero DOT vinschen DOT de> <CAPYQg33AHw4k9hU8kXbsM9WJ3-+9gr5cm1Ob1S7YXO8MP3LGdQ AT mail DOT gmail DOT com> <20151215093020 DOT GA12827 AT calimero DOT vinschen DOT de> |
Date: | Wed, 16 Dec 2015 00:58:34 +0900 |
Message-ID: | <CAPYQg30566rTTPhfbEbqEXV28043zAj80V5ppkz2z0ezQ5SRMw@mail.gmail.com> |
Subject: | Re: __STRICT_ANSI__ and stdio.h |
From: | KIMURA Masaru <hiyuh DOT root AT gmail DOT com> |
To: | cygwin AT cygwin DOT com |
X-IsSubscribed: | yes |
Hi, >> >> is cygwin's __STRICT_ANSI__ and stdio.h behavior not so compatible to glibc's? >> > >> > Cygwin is using newlib, newlib is BSD based. We introduced the >> > compatibility checking macros from FreeBSD lately. >> >> i roughly checked FreeBSD include/stdio.h and sys/sys/cdefs.h. >> https://github.com/freebsd/freebsd/blob/master/include/stdio.h >> https://github.com/freebsd/freebsd/blob/master/sys/sys/cdefs.h >> >> it looks very different to newlib's. > > Yes, it does. Newlib has a long history diverging from the BSDs to > support embedded systems in the first place, and compatibility checking > macros other than __STRICT_ANSI__ and __POSIX_SOURCE weren't much of a > concern for a long time. > >> FreeBSD has visibility for popen()/pclose() if __POSIX_VISIBLE >= 199209, >> it looks no checking about __STRICT_ANSI__ in their cdefs.h. > > Yeah, that's history as described above. popen gets declared in newlib > if __STRICT_ANSI__ is not defined right now. > >> only one thing i worried about is _ANSI_SOURCE in their cdefs.h, >> (b/c i don't understand where _ANSI_SOURCE comes from...) >> but it looks _POSIX_C_SOURCE wins anyway. >> for ease to see, i'd attach simplified their cdefs.h for their >> visibility handling. > > I don't see the difference, see below. The big differences in newlib > are the additional handling of _GNU_SOURCE and the old usage of > __STRICT_ANSI__ in some circumstances which haven't been replaced by another > usage of compatibility macros yet. > > But here's the deal: Newlib is a volunteer-driven project. If the > compatiblity checking macros are not correct or not correctly used in > all circumstances, newlib is happily open to patches. Just send them > to the newlib AT sourceware DOT org mailing list. > >> #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1 >> #undef _POSIX_C_SOURCE >> #define _POSIX_C_SOURCE 199009 >> #endif > > Same in Newlib's sys/cdefs.h. > > [SNIP] ah, i didn't check newlib's sys/cdefs.h. thank you for correcting my misunderstanding. apart from standard compliance correctness, it's good to hear newlib can deal it. if i had more spare time to dive its source, i'd like to do it. Peace, -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |