Re: gcc 4.3: when will it become standard compiler?

From: Roman Divacky <rdivacky_at_freebsd.org>
Date: Fri, 9 Jan 2009 15:33:39 +0100
On Fri, Jan 09, 2009 at 03:28:20PM +0100, Christoph Mallon wrote:
> Roman Divacky schrieb:
> >On Fri, Jan 09, 2009 at 02:32:01PM +0100, Christoph Mallon wrote:
> >>Roman Divacky schrieb:
> >>>>I'm not saying it's wrong to look for alternatives, but you cannot just 
> >>>>change your system compiler like you change underwear.
> >>>well... the first step is imho starting to compile world with C99...
> >>>that might reveal some bugs, note that as of a few months ago
> >>>8-current compiles cleanly with C99, that does not mean that it's
> >>>working when you run those programs correctly :)
> >>One step in the right direction is embracing the nice features modern C 
> >>offers you. For example declaring a variable right were you need it 
> >>instead of dozens of lines away is one such nice thing which improves 
> >>readability. Designated initializers improve readability, too.
> >>But I'm not exactly sure what you mean by "compile world with C99". C99 
> >>is pretty much backwards compatible to C89.
> > 
> >sorry for the bad wording - I meant to turn C99 compilation on default.
> >We compile in gnu89 mode now.
> 
> I still have no idea what you mean. Sure, you can specify -std=c99 (or 
> more likely gnu99), but an int is still an int - what do you expect? In 
> fact default mode of GCC accepts many C99 constructs like // comments 
> and mixed declarations and code, which are not valid C89.

for example __restricted is C99 thing and there are others, I want this
because clang for example defaults to C99 (in fact gnu99 as they support
gnu extensions on default). By switching to default compilation in C99
mode we can be sure we stay compatible with clang and others.... 
for example opensolaris seems to use C99 features which are not enabled
in our world because of this (I found same assert() related stuff) etc.

plus other benefits of the newer languge standard
Received on Fri Jan 09 2009 - 13:33:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:40 UTC