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.

All labels observed (17)

How this entity was disambiguated

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/

How these facts were elicited

Referenced by (53)

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

C++ hasMajorCompiler Clang
Xcode includesComponent Clang
this entity surface form: Clang compiler
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
Clang subdirectoryInRepo Clang self-linksurface differs
this entity surface form: clang
Clang provides Clang self-linksurface differs
this entity surface form: Clang Static Analyzer
LLVM hasComponent Clang
Objective-C++ implementedIn Clang
this entity surface form: Clang compiler
Objective-C++ implementedIn Clang
this entity surface form: Apple LLVM compiler
Chris Lattner knownFor Clang
this entity surface form: Clang compiler
Chris Lattner notableWork Clang
this entity surface form: Clang C/C++/Objective-C compiler front end
LLDB integratedWith Clang
LLDB usesComponent Clang
this entity surface form: Clang AST
GNUStep Objective-C runtime extensions compatibleWith Clang
this entity surface form: Clang Objective-C compiler
Clang-Tidy linter basedOn Clang
subject surface form: Clang-Tidy
Clang-Tidy linter usesInfrastructure Clang
subject surface form: Clang-Tidy
this entity surface form: Clang compiler infrastructure
Itanium C++ ABI usedBy Clang
this entity surface form: Clang C++ compiler
MSYS2 includes Clang
C++23 (partial) appliesTo Clang
libclang library implementsInterfaceFor Clang
subject surface form: libclang
libclang library partOf Clang
subject surface form: libclang
libclang library accesses Clang
subject surface form: libclang
this entity surface form: Clang compiler front end
Clang-Format partOf Clang
University of Illinois/NCSA Open Source License (historical) usedByProject Clang
subject surface form: University of Illinois/NCSA Open Source License
LLD linker compatibleWith Clang
subject surface form: LLD
compiler-rt usedBy Clang
compiler-rt usedBy Clang
this entity surface form: Apple Clang
compiler-rt integratesWith Clang
this entity surface form: Clang driver
ThreadSanitizer usedWith Clang
ThreadSanitizer availableIn Clang
this entity surface form: Clang compiler
MemorySanitizer introducedIn Clang
this entity surface form: Clang 3.x era (LLVM project)
clangd basedOn Clang
clang static analyzer basedOn Clang
subject surface form: Clang Static Analyzer
clang static analyzer partOf Clang
subject surface form: Clang Static Analyzer
clang static analyzer distribution Clang
subject surface form: Clang Static Analyzer
this entity surface form: Clang toolchain
clang static analyzer invokedBy Clang
subject surface form: Clang Static Analyzer
this entity surface form: clang
llvm-mc relatedTool Clang
this entity surface form: clang
llvm-ar interoperableWith Clang
this entity surface form: clang
D (via LDC) comparesWith Clang
libc++abi integratesWith Clang