Clang
| Clang | |
|---|---|
Screenshot of Clang 21.1.7 version information and verbose compile information, along with the compiled program | |
| Original author | Chris Lattner |
| Developer | LLVM Developer Group |
| Release | September 26, 2007 |
| Stable release | |
| Written in | C++ |
| Operating system | Unix-like |
| Platform | AArch64, ARMv7, IA-32, x86-64, ppc64le |
| Type | Compiler front end |
| License | Apache 2.0 with LLVM Exceptions |
| Website | clang |
| Repository | |
Clang (/ˈklæŋ/) is a compiler front end for the programming languages C, C++, Objective-C, and Objective-C++ and the software frameworks OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP. It acts as a drop-in replacement for the GNU Compiler Collection (GCC), supporting most of its compiling flags and unofficial language extensions. It includes a static analyzer and several code analysis tools.
Clang operates in tandem with the LLVM compiler back end and has been a subproject of LLVM 2.6 and later. As with LLVM, it is free and open-source software under the Apache 2.0 software license. Its contributors include Apple, IBM, Microsoft, Google, ARM, Sony, Intel and AMD.
Clang 22 has full support for all published C++ standards up to C++17, implements most features of C++20 and C++23, and has initial support for the C++26 standard. Since v16.0.0, Clang compiles C++ using the GNU++17 dialect by default, which includes features from the C++17 standard and conforming GNU extensions.