Newbies What Next ? News Forums Calendar


News Sections
General News (3987/0)
Reviews (636/0)
Press Releases (465/0)
Distributions (197/0)
Software (903/0)
Hardware (537/0)
Security (192/1)
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 Tuesday, June 03 2014 @ 03:44 PM 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
All Group Tests

Top Free Software
5 Office Suites
7 Document Processors
6 Lean Desktops
6 Desktop Search
9 Project Management
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 DVD Tools
21 Window Managers
21 Productivity Tools
9 Terminal Emulators
21 Financial Tools
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
11 Remote Display Apps
42 Best Games
42 More Games
21 More Games
21 Notable Games (1)
21 Notable Games (2)
21 Notable Games (3)
8 ASCII Games
9 Educational Games
42 Audio Apps
42 Video Apps
6 Screencasting Apps
80 Security Apps
9 System Monitoring
6 Family History Apps
11 PDF Tools
6 Music Servers
6 Collection Managers
7 Calculator Apps
8 Geometry Apps
Free Console Apps
14 Multimedia
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
'Free' Proprietary
21 Closed-Source Apps
Top Commercial Apps
42 Games
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

All Group Tests

Other Articles
Migrating from Windows
Back up your data
Distribution Guide
Distro Portal Pages
20 Free Linux Books
Running Linux Under Windows

Older Stories
Sunday 01/25
  • CD Audio Grabbers (0)

  • Monday 01/19
  • fitlet is a tiny fanless PC full of openness (0)

  • Sunday 01/18
  • MintBox Mini gives Linux users a pocket-sized PC (0)
  • 6 Invaluable Assembly Books (0)

  • Wednesday 01/14
  • Why Mac users don’t switch to Linux (0)
  • MIPS Creator CI20 review (0)

  • Tuesday 01/13
  • Getting a Time Without NTP (0)

  • Monday 01/12
  • CES 2015: Intel announces 9 Compute Stick which runs Windows and Linux (0)
  • Firefox OS-Powered Smart TVs Coming Soon, Says Panasonic (0)
  • ‘Linux Advocates’ Throws in the Towel (0)

  • Vote

    What Linux distribution do you run on your main computer?

    571 votes | 3 comments

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