「Clang」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(同期)
6行目: 6行目:
   
 
== 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 を編集しないとビルドエラーが発生する可能性があります。}}
 
{{Note|GCC にしかないビルドオプションを指定しているパッケージについては、ソースパッケージや PKGBUILD を編集しないとビルドエラーが発生する可能性があります。}}

2017年4月25日 (火) 21:39時点における版

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

参照