From owner-svn-src-all@FreeBSD.ORG Thu Dec 15 19:12:10 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 397C8106564A; Thu, 15 Dec 2011 19:12:10 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id D3A248FC1C; Thu, 15 Dec 2011 19:12:09 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id pBFJC78p006730; Thu, 15 Dec 2011 14:12:07 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id pBFJC6Bs006729; Thu, 15 Dec 2011 14:12:06 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Thu, 15 Dec 2011 14:12:06 -0500 From: David Schultz To: Ed Schouten Message-ID: <20111215191206.GA6569@zim.MIT.EDU> Mail-Followup-To: Ed Schouten , Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201112140909.pBE99bS3090646@svn.freebsd.org> <20111214234615.B3839@besplex.bde.org> <20111215122047.GN1771@hoeg.nl> <20111216000117.R2632@besplex.bde.org> <20111215144443.GQ1771@hoeg.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20111215144443.GQ1771@hoeg.nl> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG, Bruce Evans Subject: Re: svn commit: r228495 - head/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Dec 2011 19:12:10 -0000 On Thu, Dec 15, 2011, Ed Schouten wrote: > Hello Bruce, > > * Bruce Evans , 20111215 15:12: > > - recently broken for K&R since it now uses signed instead of __signed > > - broken for longer for K&R and C90 since it uses long long. In working > > versions, the __int64_t declarations were hacked for 32-bit machines > > on to make them compile (but not work). Non-hacked versions should > > simply not declare the 64-bit types if the compiler doesn't support > > them. > > Well, the dependency is circular, as depends on > as well, so that's not a real solution. > > This is a bit blunt, but maybe we should simply use "unsigned long" > there, under the assumption that on all architectures we support it is > equal in size, and if not likely big enough to store the result. > > > CTASSERT() has regressed for compilers that don't support __COUNTER__, > > since it uses this. Previously: > > - CTASSERT() never worked for K&R compilers, since it uses C90 token pasting > > - CTASSERT() worked for all C90 and later compilers. > > Yes. I am considering merging back the __COUNTER__ fix to FreeBSD 9 > after it has been released, so it shouldn't be too bad. Basically we > have to make a trade-off: > > - Make it possible to use CTASSERT() and _Static_assert() in more places > throughout the tree (headers), or > - support CTASSERT() and _Static_assert() for non-default compilers that > are older than GCC 4.3. > > I suspect that if people switch to non-default compilers to build > FreeBSD sources, they aren't doing it because they want to use an older > version of GCC. It's useful to have standard headers that don't blow up in C90 mode, but my sense is that we ought to be beyond caring about K&R C compilers. (FWIW, my first C compiler was a pre-ANSI compiler from the 80's, and it still supported the features at issue here.)