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
-xxxxxx
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].
Regards,
Stefan
[1] https://en.wikipedia.org/wiki/C99#Implementations
Received on 2017-09-24 11:37:19 CEST