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.