Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jun 2012 08:29:00 +0100
From:      Matthew Seaman <matthew@FreeBSD.org>
To:        freebsd-questions@FreeBSD.org
Subject:   Re: Why Clang?
Message-ID:  <4FDED8BC.6030501@FreeBSD.org>
In-Reply-To: <FC.A2.28005.090BEDF4@smtp02.insight.synacor.com>
References:  <FC.A2.28005.090BEDF4@smtp02.insight.synacor.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig6AA9E0F84D4042ADE09CB2D1
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 18/06/2012 05:37, Thomas Mueller wrote:
> What is the current status of Clang vs. GCC as default compiler for por=
ts and for
> "make buildworld" and "make buildkernel" in HEAD and 9.0-STABLE?

Most ports work fine with clang -- at the last count 18252 out of 23661
ports compiled just fine.  Of the failing ports, around a thousand are
caused by a broken dependency, so the situation is actually better than
it appears.

See: http://wiki.freebsd.org/PortsAndClang

> Now one concern is wine not working when Clang is used to "make buildwo=
rld".

That's not one of the ports listed as failing in the page above (but
that only tests building the port, not if it actually performs its
intended function), nor are there any open PRs on the subject.  Please
can you open a PR showing how to reproduce the problem?

> I see from reading the emailing lists that the intention is to make
> Clang the default (or only?) compiler suite for 10.0-RELEASE.

clang will be the only compiler in the base system, true.  However there
are a number of C/C++ compilers available from ports, and there is work
going on to allow switching between those and the base system compiler
more easily when compiling ports.  You aren't going to be forced to use
clang if you don't want to (although I can't understand why you wouldn't
want to. It's an excellent compiler.)

> I realize that still leaves much time to work out many of the bugs.

clang already compiles the system perfectly well.  I'm using it by
default for that on my personal machines without problems.  Any
remaining clang-bugs in the system would be few and far between and
generally in areas which are quite hard to trigger.

clang with ports is less well covered.  A lot of ported code is not
written to the highest quality, nor does it conform to recently (or not
so recently) published standards.  It's a hard task for any compiler.

One point that possibly hasn't been as apparent as it might is that
FreeBSD adopting clang has had a big effect on clang development, and
not just the other way round.  We're discovering bugs and getting fixes
committed upstream pretty effectively.

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey




--------------enig6AA9E0F84D4042ADE09CB2D1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/e2MQACgkQ8Mjk52CukIwEdgCghz8rfZ0Jl9acZ/nXmH0JcBc3
ldMAn1RHgDaDQf+imlYLI0mxsGPht2UT
=9kkI
-----END PGP SIGNATURE-----

--------------enig6AA9E0F84D4042ADE09CB2D1--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FDED8BC.6030501>