Linux Forum Казахстан

Общий => Новости => Тема начата: turbo от 07 Февраля 2010, 14:18

Название: Clang
Отправлено: turbo от 07 Февраля 2010, 14:18
[size="3"]Компилятор Clang преодолел барьер собственной пересборки[/size]

Разрабатываемый в рамках проекта 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.

http://www.opennet.r...shtml?num=25305 (http://www.opennet.ru/opennews/art.shtml?num=25305)
Название: Clang
Отправлено: Zhek@Ch от 26 Октября 2010, 19:36
[size="3"]Обеспечена возможность сборки Linux-ядра 2.6.36[/size]

Разрабатываемый в рамках проекта LLVM компилятор Clang преодолел (http://permalink.gmane.org/gmane.comp.compilers.clang.devel/11432) значительный барьер - разработчикам удалось добиться сборки Linux-ядра 2.6.36. С учетом того, что ядро корректно собирается только ограниченным числом версий GCC, это значительный шаг в развитии Clang. В настоящий момент собранное при помощи Clang ядро способно загружаться на пятый уровень выполнения (runlevel 5, запуск графической и сетевой подсистемы), работать как в окружении QEMU, так и на реальном оборудовании (X-сервер удалось запустить на Macbook 5.1 (CPU Intel C2D), ведется подготовка тестовой системы на базе Intel Atom). В системе на базе собранного в Clang Linux-ядра успешно проведен эксперимент по пересборке и последующему запуску еще одной копии ядра (self-host).

К сожалению не все проблемы еще решены и для того чтобы добиться загрузки системы приходится использовать некоторые компоненты, собранные при помощи GCC. В частности, из-за возникновения внутренних ошибок компилятора и проблем c обработкой массивов переменной длины, пока не удается собрать код SELinux, Posix ACL, IPSec, eCrypt и других подсистем, использующих Crypto API. Разработчики Clang надеются, что код Crypto API не фундаментально завязан на специфичных GNU-расширениях GCC и решить возникшие проблемы удастся незначительными правками. Кроме того, незначительные проблемы наблюдаются при сборке кода, связанного с Xen, IPv6 и Netfilters/Router, не работает код загрузки модулей ядра.

Из успешно собранных подсистем можно отметить:

Clang представляет собой LLVM фронтенд для языков C, С++ и Objective-C, который можно использовать вместо GCC. Исходные тексты Clang распространяются в рамках лицензии BSD, что делает этот компилятор интересным решением для замены GCC в BSD-подобных ОС. В настоящее время активно развивается проект адаптации данного компилятора для сборки базовой системы и портов FreeBSD. В будущем Clang планируется использовать вместо GCC в качестве системного компилятора FreeBSD.


# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=28418)
Название: Clang
Отправлено: Zhek@Ch от 30 Октября 2010, 00:19
[size="3"]Библиотека Qt успешно собрана компилятором Clang [/size]

Разработчики компании Nokia сообщили (http://labs.qt.nokia.com/2010/10/29/compiling-qt-with-clang/) о достижении успешной сборки последнего снапшота фреймворка Qt компилятором Clang на платформах MacOS X и Linux. Тестирование вариантов Qt, собранных в GCC и Clang, выявило, что Linux-сборка на основе Clang функционирует на 16% медленнее, но собирается на 23% быстрее и занимает на 5% меньше дискового пространства. Отмечается, что результаты оценки производительности не окончательны - после внесения определенных оптимизаций ситуация может измениться.

(http://pics.kz/s5/77/d5/28/77d5285b539c7f32ae7d6c81f0e5d201.jpg) (http://labs.qt.nokia.com/wp-content/uploads/2010/10/clang-vs-gcc-build-time.png)

# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=28461)
Название: Clang
Отправлено: Zhek@Ch от 12 Апреля 2011, 10:45
[size="3"]Прогресс в сборке Qt с использованием Clang [/size]

За пять месяцев, прошедших с момента (http://linuxforum.kz/index.php?/topic/4317-clang/page__view__findpost__p__12965) первой успешной пересборки библиотеки Qt при помощи разрабатываемого в рамках проекта LLVM компилятора Clang, отмечается (http://elcuco2.blogspot.com/2011/04/qt-clang-it-compiles.html) заметный прогресс в поддержке расширенных технологий Qt. Например, в настоящее время собирается не только штатное ядро Qt4 (ранее осуществлялась сборка специальной "clang"-ветки Qt), но и такие связанные с платформой составляющие, как компонент QtWebKit и среда разработки Qt Creator.

При оценке производительности демонстрационного браузера на основе Qt и QtWebKit, собранного при помощи Clang, на выполнение тестов SunSpider ушло 415.4мс, в то время как QtSDK/64bit в сборке Nokia выполняется за 360.0 мс (замедление на 13%).

# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=30205)
Название: Clang
Отправлено: Zhek@Ch от 15 Мая 2011, 01:34
[size="3"]Статус готовности CLang к сборке ядра Linux [/size]

В прошлом октябре был анонсирован проект по адаптации LLVM компилятора CLang к сборке ядра Linux. С тех пор прошло более полугода, и на днях разработчики опубликовали свой отчет о проделанной работе.

В целом:

Что не работает:

Несмотря на возникающие трудности, разработчики полны энтузиазма. Свой проект они назвали LLL project, что расшифровывается как LLVM Linux project. (https://github.com/lll-project)

>>> Подробности (http://lwn.net/Articles/441018/)

# linux.org.ru (http://www.linux.org.ru/news/kernel/6259782)
Название: Clang
Отправлено: Zhek@Ch от 26 Мая 2011, 01:16
[size="3"]Компания Google подключилась к работе по улучшению поддержки C++ в Clang[/size]

В блоге инженеров Google появилась (http://google-engtools.blogspot.com/2011/05/c-at-google-here-be-dragons.html) заметка, рассказывающая о заинтересованности компании в развитии разрабатываемого в рамках проекта LLVM компилятора Clang (http://clang.llvm.org/). В заметке рассказано о том, что уже около года Google использует Clang для анализа исходных текстов и выявления трудно поддающихся отладке ошибок в коде на языке C++. На базе Clang силами Google уже создано несколько отладочных инструментов и компания уже подключилась к разработке C++ компилятора на базе Clang.

# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=30661)