Original author(s) | Chris Lattner |
---|---|
Developer(s) | LLVM Developer Group |
Initial release | September 26, 2007[1] |
Stable release | 19.1.4[2]
/ 19 November 2024 |
Repository | |
Written in | C++ |
Operating system | Unix-like |
Platform | AArch64, ARMv7, IA-32, x86-64, ppc64le[3] |
Type | Compiler front end |
License | Apache 2.0 with LLVM Exceptions[4][5] |
Website | clang |
Clang (/ˈklæŋ/)[6] is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, and the software frameworks OpenMP,[7] OpenCL, RenderScript, CUDA, SYCL, and HIP.[8] It acts as a drop-in replacement for the GNU Compiler Collection (GCC), supporting most of its compiling flags and unofficial language extensions.[9][10] It includes a static analyzer, and several code analysis tools.[11]
Clang operates in tandem with the LLVM compiler back end and has been a subproject of LLVM 2.6 and later.[12] As with LLVM, it is free and open-source software under the Apache 2.0 software license.[4][5] Its contributors include Apple, Microsoft, Google, ARM, Sony, Intel, and AMD.
Clang 17, the latest major version of Clang as of October 2023, has full support for all published C++ standards up to C++17, implements most features of C++20, and has initial support for the upcoming C++23 standard.[13] 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.[14]
In addition to the language extensions listed here, Clang aims to support a broad range of GCC extensions.
GCCCompat
was invoked but never defined (see the help page).Clang is a subproject of the LLVM Project, but has its own mailing lists because the communities have people with different interests.
cxx_status
was invoked but never defined (see the help page).