Clang C Language Family Frontend For LLVM
Clang C Language Family Frontend For LLVM
Clang Info
Clang: a C language family frontend
Download
About
for LLVM
Features The Clang project provides a language front-end and tooling
Related Projects infrastructure for languages in the C language family (C, C++, Objective
User's Manual C/C++, OpenCL, and CUDA) for the LLVM project. Both a GCC-compatible
Language Compatibility compiler driver (clang) and an MSVC-compatible compiler driver (clang-
Language Extensions cl.exe) are provided. You can get and build the source today.
C Status
C++ Status
Features and Goals
Clang Development
Get Started Some of the goals for the project include the following:
Get Involved
Open Projects End-User Features:
Clang Internals
Fast compiles and low memory use
Hacking on Clang
Expressive diagnostics (examples)
Clang Tools
GCC & MSVC compatibility
Automatic Bug-Finding
Writing Clang Tools
Utility and Applications:
Communication
Modular library based architecture
Clang Forum
cfe-commits List Support diverse clients (refactoring, static analysis, code generation,
Bug Reports etc.)
IRC: irc.oftc.net#llvm Allow tight integration with IDEs
Of course this is only a rough outline of the goals and features of Clang.
To get a true sense of what it is all about, see the Features section, which
breaks each of these down and explains them in more detail.
Why?
Development of the new front-end was started out of a need for a
compiler that allows better diagnostics, better integration with IDEs, a
license that is compatible with commercial products, and a nimble
compiler that is easy to develop and maintain. All of these were
motivations for starting work on a new front-end that could meet these
needs.
Current Status
Clang is considered to be a production quality C, Objective-C, C++ and
Objective-C++ compiler when targeting any target supported by LLVM. As
example, Clang is used in production to build performance-critical
software like Chrome or Firefox.
If you are looking for source analysis or source-to-source transformation
tools, Clang is probably a great solution for you. Please see the C++ status
page or the C status page for more information about what standard
modes and features are supported.
Once you've done that, please consider getting involved in the Clang
community. The Clang developers include numerous volunteer
contributors with a variety of backgrounds. If you're interested in following
the development of Clang, signing up for a mailing list is a good way to
learn about how the project works.