Компилятор Clang преодолел барьер собственной пересборки

Материал из Викиновостей, свободного источника новостей

5 февраля 2010 года

Разрабатываемый в рамках проекта 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;
  • [http://code.google.com/p/unladen-swallow/ Unladen

Swallow] - реализация языка Python;

  • LLVM-Lua;
  • FlashCCompiler - средство для компиляции кода на языке Си в вид пригодный для выполнения в виртуальной машине Adobe Flash.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Компилятор Clang преодолел барьер собственной пересборки», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.