Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Mar 2013 10:40:07 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Eitan Adler <lists@eitanadler.com>
Cc:        Tijl Coosemans <tijl@coosemans.org>, freebsd-toolchain@freebsd.org
Subject:   Re: c89 broken on head?
Message-ID:  <717866F5-8CF6-4E2F-A1C4-BFC894D4D680@bsdimp.com>
In-Reply-To: <CAF6rxg=TdfXkkDd7CCnQdo0qEb7kLjh0YLiwnZgb6VL5Q_uCzQ@mail.gmail.com>
References:  <5138CD6B.2050309@coosemans.org> <5138EA4C.1060001@FreeBSD.org> <5138F6EF.6020203@coosemans.org> <51390682.3020703@FreeBSD.org> <48120A0D-8A96-4D62-9C17-AE40E1DEF026@bsdimp.com> <51391CC1.5050200@coosemans.org> <CAF6rxg=TdfXkkDd7CCnQdo0qEb7kLjh0YLiwnZgb6VL5Q_uCzQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mar 7, 2013, at 8:07 PM, Eitan Adler wrote:

> On 7 March 2013 18:03, Tijl Coosemans <tijl@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=3Dc11.
>>>>=20
>>>> 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.
>>=20
>> My argument was to be practical, i.e. don't change what doesn't have =
to
>> change.
>>=20
>>> -std=3Dc11 is defintely too new, but maybe c89 is too old.
>>>=20
>>> I thought the c89 program actually was mandated by POSIX, no?
>>=20
>> 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
>>=20
>> So, if practicality isn't a good enough argument, maybe POSIX =
compliance
>> is?
>=20
> 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.
>=20
> 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.

Warner=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?717866F5-8CF6-4E2F-A1C4-BFC894D4D680>