0% found this document useful (0 votes)
47 views2 pages

Clang C Language Family Frontend For LLVM

Clang is a front-end for the C language family, providing tools and infrastructure for languages like C, C++, and Objective-C within the LLVM project. It aims for fast compilation, low memory usage, and compatibility with GCC and MSVC, while supporting diverse applications such as static analysis and code generation. Clang is considered production quality and is actively developed, inviting community involvement and contributions.

Uploaded by

sdsd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views2 pages

Clang C Language Family Frontend For LLVM

Clang is a front-end for the C language family, providing tools and infrastructure for languages like C, C++, and Objective-C within the LLVM project. It aims for fast compilation, low memory usage, and compatibility with GCC and MSVC, while supporting diverse applications such as static analysis and code generation. Clang is considered production quality and is actively developed, inviting community involvement and contributions.

Uploaded by

sdsd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

LLVM Home

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

The Code Use the LLVM 'Apache 2' License


Check Out Sources
Browse Sources Internal Design and Implementation:
doxygen
A real-world, production quality compiler
Clang Events A simple and hackable code base
LLVM Meeting
A single unified parser for C, Objective C, C++, and Objective C++
Conformance with C/C++/ObjC and their variants

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.

Get it and get involved!


Start by getting the code, building it, and playing with it. This will show
you the sorts of things we can do today and will let you have the "Clang
experience" first hand: hopefully it will "resonate" with you. :)

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.

You might also like