Clang
Clang is an open-source compiler frontend for the C, C++, Objective-C, and Objective-C++ programming languages, built upon the LLVM compiler infrastructure. Designed for high performance, modularity, and excellent diagnostics, it serves as a critical component in many modern software development…
Key facts
- First appeared
- 2007
- Category
- technology
- Problem solved
- Clang was created to address several significant limitations of existing C/C++/Objective-C compilers, most notably GCC, including its monolithic architecture, slow compilation times, poor and often cryptic error messages, and difficulty for third-party tools (like IDEs) to parse and understand code effectively due to lack of stable APIs for compiler internals.
- Platforms
- OpenBSD, Solaris, FreeBSD, macOS, Linux, NetBSD, Various embedded platforms, Windows
Related technologies
- LLDB (LLVM Debugger)
- LLVM (Low Level Virtual Machine)
- Sanitizers (AddressSanitizer, UndefinedBehaviorSanitizer)
- LTO (Link Time Optimization)
- Ninja (Build System)
- libc++ (LLVM C++ Standard Library)
- CMake (Build System)
- Clang-Tools-Extra (Static Analyzers, Formatters)
- Xcode (Apple's IDE)
- Visual Studio Code (IDE)
Notable users
- Apple Inc.
- Sony Corporation (PlayStation development)
- Arm Holdings
- Mozilla Foundation (Firefox development)
- Various automotive and embedded systems companies
- Qualcomm
- Google LLC
- Microsoft Corporation (for specific tools and Windows Subsystem for Linux)