[cfe-dev] Clang comparison page
Taras Glek
taras.judge at shaw.ca
Mon Dec 10 21:11:33 PST 2007
Chris Lattner wrote:
>
> On Dec 10, 2007, at 7:17 PM, Taras Glek wrote:
>
>> Chris Lattner wrote:
>>> Hi All,
>>>
>>> I whipped up this page to help answer some commonly asked questions
>>> about how clang compares to other compilers:
>>> http://clang.llvm.org/comparison.html
>>>
>>> Comparisons like this are often very sensitive so please let me
>>> know if I am saying anything unfair/non-objective, or am forgetting
>>> anything.
>>>
>> Hi Chris,
>> I think this is a fairly fair comparison. Would you mind mentioning
>> my oink fork, pork? It addresses some of the shortcomings that you
>> mentioned. The main differences between oink and pork are that
>> * Integrates with MCPP to allow to "accurately map from a source
>> location in the AST to the original position before preprocessing.".
>> Several Mozilla-specific refactoring tools are provided
>> * Is actively developed (some full-time developers)
>> * Provides a scriptable static analysis tool, Dehydra
>
> Sure, since Pork is still evolving, I won't go into too much detail.
> How about including this at the end:
>
> <p>Note that there is a fork of Elsa known as "Pork". It addresses
> some of
> these shortcomings by loosly integrating a preprocessor. This
> allows it
> to map from a source location in the AST to the original
> position before
> preprocessing, providing it better support for static analysis and
> refactoring. If you are interested, please see the Pork page.</p>
>
> From your blog, my understanding is that the preprocessor really isn't
> integrated: it emits a .i file and a log of expansion information
> (embedded into the source as comments?) which is then parsed by Elsa.
> This is right?
Yes, MCPP embeds a macro expansion log into comments. I chose the
"loose" integration in hopes that any projects that need to undo the
preprocessor can reuse this instead of writing a preprocessor from
scratch. Additionally, having annotated macro expansion is handy for
debugging anything to do with macro expansions.
Your summary works for me.
Thanks,
Taras
More information about the cfe-dev
mailing list