X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Wed, 21 Oct 2015 04:45:52 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] C99 In-Reply-To: <20151020180706.GC16826@localhost.localdomain> Message-ID: References: <20151019205802 DOT GA6798 AT recycle DOT lbl DOT gov> <20151020180706 DOT GC16826 AT localhost DOT localdomain> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Tue, 20 Oct 2015, Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > Probably I have an opportunity to ask a question about the C99 standard :) > Are any issues mentioned at [1] still relevant? Could any issues appear if > we start to support it? There is another aspect: compatibility with old and/or exotic systems. I prefer to start my project with C89 and switch to C99 only when there's really a strong reason to do so. This pays off if I want my stuff to run on other systems than modern GNU/Linux/BSD. This doesn't affect old systems only; I remember I ran into win32 (+visual studio) limitations about C99 features like 5 years ago (can't recall the details tho, just that it didn't 100% support C99). In case of pcb and geda, we have so many huge external lib dependencies that it's very unlikely the projects run on such old/exotic systems. I mean even if geda or PCB would be clean C89 and compile with gcc -ansi -pedantic, one would still need to compile glib, gtk, guile and other stuff. I haven't checked if these dependencies compiel with C89, but I think before a C99 transition it should be. If it turns out dependencies require C99 already, there's no reason not to bump geda too. Else the "inertia" (and compatibility) may overwhelm the extra features of C99. Regards, Igor2