Using clang as production compiler for chrome/mac


we're currently using clang for its diagnostics in chromium land, but
we'd like to use it to build our shipping binary in the future too.

One thing we're wondering about is which clang version to use for
this. Currently, we're pulling a fixed revision from the llvm svn
server and I update that revision about once a week.

One of the alternatives is to use trunk for our shipping binaries as
well. Chromium has three different channels – dev, beta, stable – and
we could use trunk for the dev channel and then branch clang with the
rest of our source for the beta and stable channels and only merge
"important" clang/llvm changes to there. Shipping a product that's
built with a potentially unstable compiler sounds a bit risky, so why
haven't I discarded this alternative already?

I imagine that it might be useful for the clang project, since we have
quite a bit of monitoring in chromium land (automated perf graphs,
compile time graphs, crash reporting that $many users have opted in
to), so that we could find and report regressions in clang reasonably
quickly. Do you think this is interesting at all?


I do think this is interesting. It shouldn’t be too bad since one of the goals
we have for clang is to keep it roughly shippable at all times on ToT.


Would you mind if we keep our branches in the upstream llvm svn repo?
They would be numerous (we typically start a new stable release every
six weeks) but wouldn't see much traffic.


I don't think it would be much of a problem, branches are cheap. :slight_smile:

You'll want to make a "chromium" branch directory to mirror the existing apple one.


Makes sense to me.