[cfe-dev] 'llvmc --clang' vs. 'ccc'

Daniel Dunbar daniel at zuster.org
Sun Jan 11 16:09:34 PST 2009


Hi Mikhail,

As you have noticed, I have been pursuing a non-llvmc based driver;
the end goal is to replace ccc with a fully C++ driver. I discussed
this several weeks ago with Anton and I presumed he relayed the jist
of our conversation to you.

I am planning on writing up some documentation on the approach and the
motivation today and sending it out, including the reasons for not
using llvmc. For now, the basic points are:

(1) My goals are a very high level of gcc compatibility and the
ability to be completely independent of the gcc driver (e.g., call cc1
directly). These goals seemed different and potentially at odds from
the emphasis of llvmc on extensibility.

(2) I don't agree that much of my current work is duplication of
functionality already present in llvmc. A significant part of my work
was trying to find an architecture which was "as clean as possible"
while allowing high gcc compatibility (including, for example,
integrating the Apple driver driver). I think most of my time has been
spent solving problems llvmc hasn't dealt with yet; for example, llvmc
uses LLVM's command line library to parse arguments, but this is
fundamentally different from how gcc handles arguments.

In the end, I hope that we converge to a single full featured driver,
but for the time being my goal was to get a highly functional driver
up and running as quickly as possible, and my judgement call was our
priorities are different enough that it made sense to implement a
separate tool.

 - Daniel

On Sun, Jan 11, 2009 at 1:09 PM, Mikhail Glushenkov <foldr at codedgers.com> wrote:
> Hi,
>
> I noticed that there is ongoing work [1] on extending ccc with
> what looks like duplication of the functionality already present
> in llvmc [2]. I just want to remind that llvmc's clang plugin was
> recently rewritten [3] to make it usable as a drop-in replacement
> for 'ccc'. The clang plugin is now compiled in by default, so you
> can just alias 'ccc' to 'llvmc --clang' and use that instead of
> the old 'ccc' script. Feedback is very much appreciated,
> preferably in form of bug reports.
>
> [1] http://article.gmane.org/gmane.comp.compilers.clang.scm/4177
> [2] http://llvm.org/docs/CompilerDriver.html
> [3] http://article.gmane.org/gmane.comp.compilers.llvm.devel/17087/
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>



More information about the cfe-dev mailing list