Skip to content

Supported Languages in Clang

Clang is a compiler front end for the LLVM (Low-Level Virtual Machine) project. It is designed to offer a replacement for GCC while providing a higher level of modularity and better diagnostics. Clang supports several programming languages, making it a versatile tool for modern software development.

Languages Supported

Language Description
C Clang fully supports the C programming language, including the C89, C99, and C11 standards.
C++ Clang supports the C++ programming language, including C++98, C++03, C++11, C++14, C++17, and C++20 standards. It also supports many of the latest C++ features and extensions.
Objective-C Clang supports Objective-C, a superset of C that adds object-oriented capabilities and is primarily used for macOS and iOS development.
Objective-C++ Clang supports Objective-C++, which combines the features of Objective-C and C++.
CUDA Clang can compile CUDA code for execution on NVIDIA GPUs. This makes it a powerful tool for high-performance computing and parallel processing tasks.
OpenCL Clang supports OpenCL, a framework for writing programs that execute across heterogeneous platforms, including CPUs, GPUs, and other processors.
LLVM IR Clang can generate LLVM Intermediate Representation (IR), which is an intermediate language used by the LLVM compiler infrastructure for optimization and code generation.
Swift Although Swift has its own compiler, Clang plays a crucial role in the Swift toolchain, especially for interoperability with C and Objective-C code.

Next Steps

To learn more about installing and using Clang, proceed to:

  1. Installation