Разрабатываемый в рамках проекта LLVM компилятор Clang
достиг новой стадии развития - им впервые удалось пересобрать
собственную кодовую базу (550 тыс. строк кода на C++), иными словами
собрать Clang используя только Clang. Полученный в результате такой
сборки исполняемый файл прошел все разработанные в рамках LLVM тесты,
направленные на выявление регрессивных изменений. Кроме синтетических
тестов, был использован простой и надежный способ проверки: собранным
при помощи Clang исполняемым файлом была осуществлена пересборка Clang
по второму и третьему кругу.
Clang представляет собой LLVM фронтенд для языков C, С++ и
Objective-C, который можно использовать вместо GCC. Исходные тексты
Clang распространяются в рамках лицензии BSD, что делает этот
компилятор интересным решением для замены GCC в BSD-подобных ОС.
Например, близится к завершению проект
адаптация данного компилятора для сборки базовой системы FreeBSD. В
будущем во FreeBSD планируется использовать в качестве системного
компилятора Clang, вместо GCC. В настоящий момент успешно собираются
приложения базовой системы и ядра FreeBSD для архитектур i386 и amd64. Из параллельно развивающихся с Clang основанных на LLVM проектов, можно отметить:
- VMKit - виртуальная машина для Java VM и .NET VM;
- Реализация функционального языка программирования Pure;
- LDC - компилятор для языка D;
- Roadsend PHP - оптимизатор, статический и JIT компилятор для языка PHP;
- Rubinius и MacRuby - виртуальные машины для Ruby;
- Unladen
Swallow - реализация языка Python;
- LLVM-Lua;
- FlashCCompiler - средство для компиляции кода на языке Си в вид пригодный для выполнения в виртуальной машине Adobe Flash.
|