「Clang」の版間の差分
表示
削除された内容 追加された内容
細編集の要約なし |
細 言語間リンク |
||
| (同じ利用者による、間の2版が非表示) | |||
| 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 を使う == |
||
プロジェクトを解析するには、ビルドコマンドの前に {{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.conf に export CC=clang と (C++ 用に) export CXX=clang++ を追加してください。debug でビルドする場合、DEBUG_CFLAGS と DEBUG_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