Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Sep 2012 15:35:08 +0100
From:      Chris Rees <utisoft@gmail.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        toolchain@freebsd.org, current@freebsd.org
Subject:   Re: Clang as default compiler November 4th
Message-ID:  <CADLo83-Mtbnd1BSPzuZ3RQc=q3%2Bm5gtixBBbYwvWDM2RoNHdkQ@mail.gmail.com>
In-Reply-To: <20120911122122.GJ37286@deviant.kiev.zoral.com.ua>
References:  <20120910211207.GC64920@lor.one-eyed-alien.net> <20120911104518.GF37286@deviant.kiev.zoral.com.ua> <20120911120649.GA52235@freebsd.org> <20120911122122.GJ37286@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11 Sep 2012 13:22, "Konstantin Belousov" <kostikbel@gmail.com> wrote:
>
> On Tue, Sep 11, 2012 at 02:06:49PM +0200, Roman Divacky wrote:
> > > > tl;dr: Clang will become the default compiler for x86 architectures
on 2012-11-04
> > >
> > > There was a chorus of voices talking about ports already. My POV
> > > is that suggesting to 'fix remaining ports to work with clang' is
> > > just a nonsense. You are proposing to fork the development of all the
> > > programs which do not compile with clang. Often, upstream developers
> > > do not care about clang at all since it not being default compiler in
> > > Debian/Fedora/Whatever Linux. The project simply do not have resources
> > > to maintain the fork of 20K programs.
> >
> > We currently dont compile 4680 ports (out of 23857). Top 10 ports that
prevent
> > the most other ports from compiling together prevent 2222 ports from
> > compilation. So if we fixed those 10 ports we could be at around 2500
ports
> > not compiling. Thats quite far from your claim of forking 20k programs.
> Sorry, I cannot buy the argument. How many patches there are already
> in the ports tree to cope with clang incompatibility with gcc ? You may
> declare that all of them are application bugs, but it completely misses
> the point.
>
> >
> > > Looking from less amiable angle, you propose to knowingly break
significant
> > > and important piece of the project work. My belief is that switch
cannot
> > > be done before ports switch to the port-provided compiler.
> >
> > I believe majority of the broken ports is broken because their
maintainer
> > never saw them being broken with clang just because it's not the default
> > compiler. Thus by making it the default majority of the problems would
just
> > go away.
> Can you, please, read what I wrote ? Fixing _ports_ to compile with
> clang is plain wrong. Upstream developers use gcc almost always for
> development and testing. Establishing another constant cost on the
> porting work puts burden on the ports submitters, maintainers and even
> ports users.
>
> I do strongly oppose the attempt to drain the freebsd resources by
> forcing porters to port third-party code to other compiler.

I definitely see your point, but upstream should also be writing
correct/portable code.  Whenever a patch to fix a port is made, it is
actually mandatory to report it to upstream, and nag them to hell until
it's committed!  Most are very happy for this to happen; we've been
removing GNUisms from build scripts etc for years now (and I could link to
a "Thank you" email for all the build fixes I've sent upstream).

Sometimes, like the common bashism if [ a == b ] we bite the bullet and add
the extensions ourselves; sometimes upstream has an education on writing
portable code!

If we were all the same, would there be much point in being different?

Chris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLo83-Mtbnd1BSPzuZ3RQc=q3%2Bm5gtixBBbYwvWDM2RoNHdkQ>