Clang vs Other Compilers

Building an entirely new compiler front-end is a big task, and it isn't always clear to people why we decided to do this. Here we compare clang and its goals to other open source compiler front-ends that are available. We restrict the discussion to very specific technical points to avoid controversy where possible. Also, since software is infinitely mutable, so focus on architectural issues that are impractical to fix without a major rewrite, instead of talking about little details that can be fixed with a reasonable amount of effort.

The goal of this list is to describe how differences in goals lead to different strengths and weaknesses, not to make some compiler look bad. This will hopefully help you to evaluate whether using clang is a good idea for your specific goals.

Please email cfe-dev if you think we should add another compiler to this list or if you think some characterization is unfair here.

Clang vs GCC (GNU Compiler Collection)

Pro's of GCC vs clang:

Pro's of clang vs GCC:

Clang vs Elsa (Elkhound-based C++ Parser)

Pro's of Elsa vs clang:

Pro's of clang vs Elsa:

Clang vs PCC (Portable C Compiler)

Pro's of PCC vs clang:

Pro's of clang vs PCC: