作者 | Chris Lattner |
---|---|
開発元 | LLVM Developer Group |
初版 | 2007年9月26日[1] |
最新版 | |
リポジトリ | |
プログラミング 言語 | C++ |
対応OS | macOS, Unix系, Microsoft Windows |
プラットフォーム | クロスプラットフォーム |
サポート状況 | 開発中 |
種別 | コンパイラ |
ライセンス |
イリノイ大学/NCSAオープンソースライセンス[3] LLVM例外付きApache License 2.0 (バージョン9.0.0以降[4]) |
公式サイト |
clang |
Clang ([ˈklæŋ]:クランのように発音[5]) は、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラフロントエンドである。OpenMPディレクティブ[6]や、OpenCL C/C++カーネル言語[7]も正式サポートしている。バックエンドにLLVMのコンパイラ基盤を使用しており、LLVM 2.6以降はLLVMのリリースサイクルに組み込まれている。
Clang/LLVMベースの派生プロジェクトとして、RenderScript、CUDAのNVCC[8]、ROCmのHIP-Clang[9]といった、Cライクなドメイン固有言語 (DSL) を組み込んだGPGPUフレームワークにおけるコンパイラフロントエンドとしても採用されている。
プロジェクトの目標は、GNUコンパイラコレクション (GCC) を置き換えることのできるコンパイラを提供することである[10][11]。開発は完全にオープンソースの方法で進められており、Apple、Microsoft、Google、ARM、ソニー、インテル、AMDなどの大企業も貢献者となっている。ソースコードは、イリノイ大学/NCSAオープンソースライセンスで提供されている。バージョン9.0.0からはライセンスがLLVM例外付きApache License 2.0に変更された[4]。
macOSおよびiOS(ともにXcodeの付属として)、ならびにFreeBSDにおいて標準のコンパイラとして採用されている。
Clangプロジェクトではコンパイラのフロントエンドに加えてClang静的コード解析ツール(Clang-Tidy)も開発されている[12]。
<ref>
タグです。「GCCCompat
」という名前の注釈に対するテキストが指定されていません