c89 broken on head?
Eitan Adler
lists at eitanadler.com
Fri Mar 8 17:48:23 UTC 2013
On 8 March 2013 12:40, Warner Losh <imp at bsdimp.com> wrote:
>
> On Mar 7, 2013, at 8:07 PM, Eitan Adler wrote:
>
>> 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.
>
> Removing cc is an exceedingly stupid idea. I think it should be preceded by the heat death of the universe. It will cause nothing but gratuitous pain and suffering for our users and gain us absolutely nothing in return. Do not even think about removing 'cc,' let alone trying to do an exp-run. The idea is a non-starter and you'd be wasting your time.
My comment included the proposal to modify it to use c99 (or c11).
That change must also be preceded by an exp-run. I am not making the
proposals, only responding to them.
I agree that removing cc buys us nothing.
--
Eitan Adler
More information about the freebsd-toolchain
mailing list