Clang (Русский)
Clang — это компилятор C/C++/Objective c/CUDA на основе LLVM. Доступен по лицензии "Apache 2.0 License with LLVM exceptions".
Установка
Установите пакет clang.
Сборка пакетов с использованием Clang
Добавьте export CC=clang
и (для C++) export CXX=clang++
в файл /etc/makepkg.conf
. Для поддержки LTO также установите пакет lld и добавьте -fuse-ld=lld
в LDFLAGS
в файле /etc/makepkg.conf
. Если вы выполняете сборку с debug
, удалите -fvar-tracking-assignments
из DEBUG_CFLAGS
и DEBUG_CXXFLAGS
, так как Clang их не поддерживает.
Пакеты, которые используют специфичные для GCC опции компиляции, могут не собраться и потребовать ручного изменения исходников, файла PKGBUILD или отключения строк Clang в makepkg.conf
.
Использование статического анализатора
Чтобы проанализировать проект, добавьте scan-build
перед командой сборки. Например:
$ scan-build make
Если проект уже собран, scan-build
не станет его пересобирать и не проанализирует. Чтобы принудительно запустить повторую сборку и анализ, используйте опцию -B
:
$ scan-build make -B
Также можно проанализировать отдельные файлы:
$ scan-build gcc -c t1.c t2.c
Советы и рекомендации
Автодополнение в bash
Установите bash-completion и выполните source /usr/share/clang/bash-autocomplete.sh
в файле настроек Bash.