С прошлой недели GNU Compiler Collection (GCC), а вместе с ним и стандартная библиотека libstdc++ (C++ standard library), больше не будет задействована компилятором по умолчанию в базовых платформах ОС FreeBSD, в том числе и в версии 10, сообщил в корпоративном блоге Майкл Ларабель, ведущий разработчик и основатель компании Phoronix.
До настоящего времени GCC включался в качестве системного компилятора в базовые ОС FreeBSD, но на платформах с аппаратной архитектурой x86 или x86_64/amd64 его постепенно заменяет Clang — компилятор C++ с более широкими возможностями. Внедрению в структуру FreeBSD современного компилятора по умолчанию способствовали разработчики ОС и пользователи BSD-семейства. Они в течение нескольких месяцев лоббировали переход на Clang с ограничением роли GCC.
Основное преимущество Clang заключается в том, что он построен на основе весьма мощной инфраструктуры LLVM (Low Level Virtual Machine), предназначенной для оптимизации программ на этапах компиляции, связывания и исполнения, а это обеспечивает (наряду с меньшим расходом памяти) более высокую скорость процесса генерации исполнительного кода (при сравнимом качестве кода), чем при использовании GCC.
Кроме того, Clang отличается меньшими лицензионными ограничениями: GCC находится под лицензией GPLv3, а Clang и LLVM распространяются под лицензией BSD, которая позволяет не открывать исходные тексты разработанных программ при распространении исполняемых файлов, что (по вполне понятным причинам) делает его более привлекательным для разработчиков систем.
Сочетание LLVM с CLang даже предоставляет возможность программисту при необходимости написать собственный компилятор.
Отмечается, что в перспективе GCC останется лишь на тех архитектурах, где неприменим Clang. Желающим продолжить использование GNU Compiler Collection на своей системе необходимо будет указать опции WITH_GCC и WITH_GNUCXX в файле конфигурации src.conf.
Разработчики же Linux-дистрибутивов (Fedora и др.) с переходом на LLVM/CLang не спешат, выступая за продолжение использования GCC в качестве компилятора по умолчанию.
Как ожидается, релиз FreeBSD 10 с компилятором Clang по умолчанию будет выпущен в 2014 г., в настоящее время разработчики используют версию FreeBSD 9.2 update.