c89 broken on head?

Eitan Adler lists at eitanadler.com
Fri Mar 8 03:08:36 UTC 2013


On 7 March 2013 18:03, Tijl Coosemans <tijl at coosemans.org> wrote:
> On 2013-03-07 22:36, Warner Losh wrote:
>> On Mar 7, 2013, at 2:28 PM, Dimitry Andric wrote:
>>> On 2013-03-07 21:22, Tijl Coosemans wrote:
>>> ...
>>>> Because it's the practical thing to do? Old code/makefiles can't possibly
>>>> be expected to know about compilers of the future, while new code can be
>>>> expected to add -std=c11.
>>>
>>> I am not sure I buy that argument; if it were so, we should default to
>>> K&R C instead, since "old code" (for some arbitrary definition of "old")
>>> could never have been expected to know about gcc defaulting to gnu89.
>
> My argument was to be practical, i.e. don't change what doesn't have to
> change.
>
>> -std=c11 is defintely too new, but maybe c89 is too old.
>>
>> I thought the c89 program actually was mandated by POSIX, no?
>
> Both were part of POSIX. c89 was a strict ISO c89 compiler, while cc was
> c89, but could additionally accept "an unspecified dialect of the C
> language". http://pubs.opengroup.org/onlinepubs/007908799/xcu/cc.html
>
> So, if practicality isn't a good enough argument, maybe POSIX compliance
> is?

cc is marked as "LEGACY" which is described as optional ("need not be
provided").
However, I would not be surprised if a non-zero number of ports depend
on cc existing.

If we are to remove it or change it, I would like to see that preceded
by an exp-run.



-- 
Eitan Adler


More information about the freebsd-toolchain mailing list