Clang

E59601

Clang is a modern, open-source C, C++, and Objective-C compiler front end for the LLVM project, known for its fast compilation, expressive diagnostics, and modular design.

Jump to: Surface forms Statements Referenced by

Observed surface forms (6)


Statements (90)

Predicate Object
instanceOf C compiler
C++ compiler
LLVM subproject
Objective-C compiler
compiler front end
free software
open-source software
static compiler
category software development tool
defaultCompilerFor FreeBSD
surface form: FreeBSD base system

Xcode
designGoal GCC compatibility
high-quality error messages
modular library-based architecture
developer Apple Inc.
Google
surface form: Google LLC

LLVM
surface form: LLVM community

open-source contributors
diagnosticsStyle fix-it hints
machine-readable diagnostics
feature AST-based tooling
Clang self-linksurface differs
surface form: Clang-Format code formatter

Clang-Tidy linter
expressive diagnostics
fast compilation
Clang self-linksurface differs
surface form: libclang C interface

link-time optimization (via LLVM)
modular design
modules support
precompiled headers
sanitizers integration
static analysis tools
initialReleaseYear 2007
license Apache License 2.0 with LLVM exceptions
openSource true
partOf LLVM
surface form: LLVM project
programmingLanguage C++
provides Clang self-linksurface differs
surface form: Clang Static Analyzer

Clang-Format
Clang-Tidy
command-line driver clang
libclang library
replaces GCC in some toolchains
repository https://github.com/llvm/llvm-project
roleInToolchain front end
sponsoredBy Apple Inc.
subdirectoryInRepo Clang self-linksurface differs
surface form: clang
supportsABI Itanium C++ ABI
Microsoft C++ ABI
supportsBuildSystem CMake
Ninja
supportsDebugFormat CodeView
DWARF
supportsExtension GNU Compiler Collection
surface form: GNU C extensions (partial)

MSVC
surface form: Microsoft C/C++ extensions (partial)
supportsLanguage C
C++
NVIDIA CUDA
surface form: CUDA C++

Objective-C
Objective-C++
OpenCL
surface form: OpenCL C

Android Runtime (ART)
surface form: RenderScript
supportsStandard C++
surface form: C++03

C++
surface form: C++11

C++
surface form: C++14

C++
surface form: C++17

C++
surface form: C++20 (partial)

C++23 (partial)
C++
surface form: C++98

C11
C17
C2x (partial)
ISO/IEC 9899
surface form: C89

ISO/IEC 9899
surface form: C99
targetArchitecture ARMv8-A
surface form: AArch64

ARM
PowerPC
RISC-V
x86
x86-64
targetPlatform Android
FreeBSD
Linux
Windows
macOS
usedBy Android NDK
Chrome build system
LLVM-based IDE tooling
usesBackend LLVM
website https://clang.llvm.org/

Referenced by (12)

Full triples — surface form annotated when it differs from this entity's canonical label.

Clang feature Clang self-linksurface differs
this entity surface form: libclang C interface
Clang feature Clang self-linksurface differs
this entity surface form: Clang-Format code formatter
LLVM hasComponent Clang
C++ hasMajorCompiler Clang
this entity surface form: Clang compiler
this entity surface form: Apple LLVM compiler
Xcode includesComponent Clang
this entity surface form: Clang compiler
Clang provides Clang self-linksurface differs
this entity surface form: Clang Static Analyzer
Clang subdirectoryInRepo Clang self-linksurface differs
this entity surface form: clang