From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/1783 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: Re: Best bikeshed ever (feature test macros) Date: Wed, 29 Aug 2012 09:49:39 -0400 Message-ID: <20120829134939.GS27715@brightrain.aerifal.cx> References: <20120824214138.GA17792@brightrain.aerifal.cx> <20120829073442.66c72367@gmail.com> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1346248073 10856 80.91.229.3 (29 Aug 2012 13:47:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Aug 2012 13:47:53 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-1784-gllmg-musl=m.gmane.org@lists.openwall.com Wed Aug 29 15:47:54 2012 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1T6icV-0003TL-W0 for gllmg-musl@plane.gmane.org; Wed, 29 Aug 2012 15:47:48 +0200 Original-Received: (qmail 23735 invoked by uid 550); 29 Aug 2012 13:47:44 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 23724 invoked from network); 29 Aug 2012 13:47:44 -0000 Content-Disposition: inline In-Reply-To: <20120829073442.66c72367@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:1783 Archived-At: On Wed, Aug 29, 2012 at 07:34:42AM +0200, philomath wrote: > On Fri, 24 Aug 2012 17:41:38 -0400 > Rich Felker wrote: > > > > 1. Leaving everything as it is. > > > 2. Making the kitchen sink (_GNU_SOURCE) available by default. > > > 3. Making only some limited subset (e.g. POSIX base) available by > > default. > > The bikeshed should definitely not be colored black. > > I'd lean towards 3, 1 is fine too. but please not 2, musl's > correctness is one of it's unique features... > > Thanks. Thanks for the input. What correctness aspect is important to you? I conceptually like the minimal-by-default namespace, but ISO C does not specify how to invoke the compiler, so even implementations that require you to use obscure options to get a clean plain-C namespace are "correct". In practice, any of the options 1-3 would give the clean namespace as long as -std=c* is used with no feature test macros. With that said, I do tend to agree that option 2 is ugly, mainly since it exposes not just useful modern extensions but all kinds of ugly legacy things, like sys/sysmacros.h junk getting pulled in from standard headers... So far the most reasonable proposals I've seen are along the lines of "XSI plus some extensions" where the latter would correspond to _BSD_SOURCE or some analogue of _SVID_SOURCE (which is not supported by musl at this time). Rich