「Clang」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Created page with "[[Category:パッケージ開発] en:Clang [http://clang.llvm.org/ Clang] は LLVM をベースとした C/C++/Objective C コンパイラです。BSD ライセ...")
 
(言語間リンク)
 
(同じ利用者による、間の4版が非表示)
1行目: 1行目:
[[Category:パッケージ開発]
+
[[Category:パッケージ開発]]
 
[[en:Clang]]
 
[[en:Clang]]
  +
[[zh-hans:Clang]]
 
[http://clang.llvm.org/ Clang] は LLVM をベースとした C/C++/Objective C コンパイラです。BSD ライセンスで配布されています。
 
[http://clang.llvm.org/ Clang] は LLVM をベースとした C/C++/Objective C コンパイラです。BSD ライセンスで配布されています。
 
== インストール ==
 
== インストール ==
6行目: 7行目:
   
 
== Clang を使ってパッケージをビルド ==
 
== Clang を使ってパッケージをビルド ==
{{ic|/etc/makepkg.conf}} に {{ic|1=export CC=clang}} と (C++ 用に) {{ic|1=export CXX=clang++}} を追加してください。
+
{{ic|/etc/makepkg.conf}} に {{ic|1=export CC=clang}} と (C++ 用に) {{ic|1=export CXX=clang++}} を追加してください。{{ic|debug}} でビルドする場合、{{ic|DEBUG_CFLAGS}} と {{ic|DEBUG_CXXFLAGS}} から clang がサポートしていない {{ic|-fvar-tracking-assignments}} は削除してください。
  +
  +
{{Note|GCC にしかないビルドオプションを指定しているパッケージについては、ソースパッケージや PKGBUILD を編集しないとビルドエラーが発生する可能性があります。}}
   
 
== Static Analyzer を使う ==
 
== Static Analyzer を使う ==
まず {{Pkg|clang-analyzer}} パッケージをインストールしてください。プロジェクトを解析するには、ビルドコマンドの前に {{ic|scan-build}} を記述します。例えば:
+
プロジェクトを解析するには、ビルドコマンドの前に {{ic|scan-build}} を記述します。例えば:
 
$ scan-build make
 
$ scan-build make
   

2017年8月20日 (日) 22:41時点における最新版

Clang は LLVM をベースとした C/C++/Objective C コンパイラです。BSD ライセンスで配布されています。

インストール

公式リポジトリから clang をインストールしてください。

Clang を使ってパッケージをビルド

/etc/makepkg.confexport CC=clang と (C++ 用に) export CXX=clang++ を追加してください。debug でビルドする場合、DEBUG_CFLAGSDEBUG_CXXFLAGS から clang がサポートしていない -fvar-tracking-assignments は削除してください。

ノート: GCC にしかないビルドオプションを指定しているパッケージについては、ソースパッケージや PKGBUILD を編集しないとビルドエラーが発生する可能性があります。

Static Analyzer を使う

プロジェクトを解析するには、ビルドコマンドの前に scan-build を記述します。例えば:

$ scan-build make
ヒント: プロジェクトがビルド済みの場合、scan-build は再ビルドを行わず解析もしません。強制的に再コンパイル・解析させるには、-B スイッチを使って下さい:
$ scan-build make -B

特定のファイルの解析をすることもできます:

$ scan-build gcc -c t1.c t2.c

参照