[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [RFC] Upgrade to C'90 as our minimum C language

From: Stefan <luke1410_at_posteo.de>
Date: Sun, 24 Sep 2017 11:36:59 +0200

On 22/09/2017 13:29, Branko Čibej wrote:
> On 22.09.2017 13:18, Julian Foad wrote:
>> Julian Foad wrote:
>>> When we released Subversion 1.0 in 2004, we were still thinking we had
>>> better not use C'90 because it was only 14 years old and, you know,
>>> people need to be able to compile svn on systems of a reasonable age.
>>> So we had a "strict C'89" policy. No "//" comments, for example.
>>> Now C'99 is 18 years old and C'90 is, ahem, 27 years old. Does anybody
>>> else feel like we're trapped in the dark ages? The only reason not to
>>> upgrade is our personal fear of "rocking the boat", it seems to me.
>>> Let's just do it?
>>> I know there is a problem with Microsoft not supporting C'99. C'90
>>> should be fine though, and some of C'99 if we want to.
>> Oops, I misremembered that C89==C90, while C99 is the one that brings new features.
>> And Brane is pointing out on IRC lots of difficulties...
>> :-(
> Yes, we've had this discussion before, and the difficulties remain. :)
> -- Brane

Maybe we'd consider changing our view on this topic a bit and rather
than increment the source compatibility from C89/C90 to C99 change the
project to state compatibility based on a chosen compiler set plus all
compilers which are full C99 aware?

I.e. we'd declare project compatibility to support:
- any fully C99 compliant compiler
- VS: 2010-2017
- GCC: 2.7-7.2
- Clang: xxx-xxx

We then basically limit ourselves to the feature set which is supported
by our chosen compiler set.

As far as I see it, one of the main restrictions we regularly face is
the use of //-comment styles (especially when talking here integrated
external libraries/code). This is something which has long been
supported even in VS.

The wikipedia page also provides quite a summary of C99-support in
different compilers [1].


[1] https://en.wikipedia.org/wiki/C99#Implementations
Received on 2017-09-24 11:37:19 CEST

This is an archived mail posted to the Subversion Dev mailing list.