Newbies What Next ? News Forums Calendar


News Sections
General News (3987/0)
Reviews (637/0)
Press Releases (465/0)
Distributions (197/0)
Software (915/0)
Hardware (537/0)
Security (192/0)
Tutorials (356/0)
Off Topic (181/0)

User Functions


Don't have an account yet? Sign up as a New User

There are no upcoming events



Clang is a compiler front end for the C, C++, and Objective-C programming languages. It uses the Low Level Virtual Machine (LLVM) as its back end. The combination of clang and LLVM provides the majority of a toolchain, allowing the replacement of the whole GCC stack.

One of clang's primary goals is to better support incremental compilation to allow the compiler to be more tightly tied to the IDE GUI.

Clang is carefully and thoughtfully designed and built to provide the foundation of a whole new generation of C/C++/Objective C development tools.

Clang supports a broad variety of language extensions. These extensions are provided to be compatible with the GCC, Microsoft, and other popular compilers as well as to improve functionality through clang-specific features. The Clang driver and language features are intentionally designed to be as compatible with the GCC compiler as reasonably possible, easing migration from GCC to Clang.


Free to download


University of Illinois / NCSA Open Source License

Chris Lattner and contributors


System Requirements

Users Manual, Development Mailing List

Selected Reviews:

Features include:

  • Fast compiles and low memory use - the library-based architecture of clang makes it straight-forward to time and profile the cost of each layer of the stack
  • Expressive diagnostics, making the diagnostics (error and warning messages) generated by the compiler be as useful as possible
  • GCC compatibility
  • Modular library based architecture:
    • libsupport - Basic support library, from LLVM
    • libsystem - System abstraction library, from LLVM
    • libbasic - Diagnostics, SourceLocations, SourceBuffer abstraction, file system caching for input source files
    • libast - Provides classes to represent the C AST, the C type system, builtin functions, and various helpers for analyzing and manipulating the AST (visitors, pretty printers, etc)
    • liblex - Lexing and preprocessing, identifier hash table, pragma handling, tokens, and macro expansion
    • libparse - Parsing. This library invokes coarse-grained 'Actions' provided by the client (e.g. libsema builds ASTs) but knows nothing about ASTs or other client-specific data structures
    • libsema - Semantic Analysis. This provides a set of parser actions to build a standardized AST for programs
    • libcodegen - Lower the AST to LLVM IR for optimization & code generation
    • librewrite - Editing of text buffers (important for code rewriting transformation, like refactoring)
    • libanalysis - Static analysis support
    • libindex - Cross-translation-unit infrastructure and indexing support
    • clang - A driver program, client of the libraries at various levels
  • Support diverse clients (refactoring, static analysis, code generation, etc)
  • Allow tight integration with IDEs
  • A real-world, production quality compiler
  • A simple and hackable code base
  • A single unified parser for C, Objective C, C++, and Objective C++
  • Conformance with C/C++/ObjC and their variants
Return to Compilers Home Page

Bookmark and Share

Last Updated Saturday, May 30 2015 @ 09:55 AM EDT

We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, SQL, Node.js (new), Fortran (new), Erlang (new), Pascal (new), and Ada (new).

Group Tests
100 Essential Apps
All Group Tests

Top Free Software
5 Office Suites
3 Lean Desktops
7 Document Processors
4 Distraction Free Tools
9 Project Management
4 Business Solutions
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 Productivity Tools
5 Note Taking Apps
9 Terminal Emulators
21 Financial Tools
5 Bitcoin Clients
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
42 Best Games
9 Steam Games
42 Audio Apps
5 Music Streaming
42 Video Apps
5 YouTube Tools
80 Security Apps
9 System Monitoring
8 Geometry Apps
Free Console Apps
14 Multimedia
4 Audio Grabbers
9 Internet Apps
3 HTTP Clients
5 File Managers
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

Other Articles
Migrating from Windows
Back up your data
20 Free Linux Books
24 Beginner Books
12 Shell Scripting Books

Older Stories
Saturday 05/16
  • 9 First Steps with Ubuntu 15.04 (0)
  • Excellent Console Log File Analyzers (0)

  • Monday 05/04
  • 100 Essential Free Apps (0)

  • Saturday 04/25
  • What are good command line HTTP clients? (0)

  • Sunday 04/12
  • First Peek at XBian on the Raspberry Pi 2 (0)

  • Saturday 04/04
  • First Look at OSMC RC on the Raspberry Pi 2 (0)

  • Sunday 03/29
  • First Steps with OpenELEC on the Raspberry Pi 2 (0)
  • Ubuntu MATE 15.04 for Raspberry Pi 2 (0)

  • Monday 03/16
  • MIPS Creator CI20 v Raspberry Pi 2 (0)
  • Raspberry Pi 2: Raspbian (ARMv6) v Linaro (ARMv7) (0)

  • Vote

    What Linux distribution do you run on your main computer?

    982 votes | 3 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 - All rights reserved