コンテンツにスキップ

「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

参照