Date: Fri, 8 Mar 2013 12:47:51 -0500 From: Eitan Adler <lists@eitanadler.com> To: Warner Losh <imp@bsdimp.com> Cc: Tijl Coosemans <tijl@coosemans.org>, freebsd-toolchain@freebsd.org Subject: Re: c89 broken on head? Message-ID: <CAF6rxg=eRnGKE5ec2rpFWwuB7Q6%2BpStBuPngF0GhROUH%2Beb47g@mail.gmail.com> In-Reply-To: <717866F5-8CF6-4E2F-A1C4-BFC894D4D680@bsdimp.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> <717866F5-8CF6-4E2F-A1C4-BFC894D4D680@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 8 March 2013 12:40, Warner Losh <imp@bsdimp.com> wrote: > > 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 pos= sibly >>>>>> be expected to know about compilers of the future, while new code ca= n be >>>>>> expected to add -std=3Dc11. >>>>> >>>>> I am not sure I buy that argument; if it were so, we should default t= o >>>>> K&R C instead, since "old code" (for some arbitrary definition of "ol= d") >>>>> 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=3Dc11 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 wa= s >>> 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 complianc= e >>> 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 pai= n 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. --=20 Eitan Adler
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAF6rxg=eRnGKE5ec2rpFWwuB7Q6%2BpStBuPngF0GhROUH%2Beb47g>