LINUX.ORG.RU

Debian: clang способен заменить gcc

 , ,


0

1

Sylvestre Ledru провел эксперимент по сборке репозитория Debian с помощью компилятора clang. Вопреки ожиданиям, результаты оказались обнадеживающими:

На мой взгляд, clang уже стабилен и достаточно хорош для пересборки большинства пакетов Debian, хотя многие из них потребуют незначительных исправлений.

В ближайшие несколько лет, учитывая лучшие инструмены статического анализа кода, clang может заменить gcc/g++ как компилятор C/C++ по умолчанию в дистрибутивах Linux и BSD.

Разработчики clang продвигаются очень быстро: с версией 2.9 не собиралось 14.5% пакетов, а с 3.0 - 8.8%. Сделаны существенные шаги: chromium/chrome собираются по умолчанию с помощью clang, Xcode по умолчанию предоставляет clang, FreeBSD работает над переходом с gcc на clang и т. д.

Однако для Debian важно, чтобы clang справлялся со всеми поддерживаемыми архитектурами (11 официальных, 6 неофициальных).

Собрать не удалось 1381 пакет из 15658. Самая частая причина неудачи - более строгое следование стандартам со стороны clang.

Найденные баги будут отправлены в багтрекер Debian вместе с патчами. Автор исследования продолжит тестировать новые версии clang.

>>> Подробности

★★★★

Проверено: Shaman007 ()

QA это хорошо

anonymous
()

Самая частая причина неудачи - более строгое следование стандартам со стороны clang.

и это несмотря на то, что в gcc наконец-то с этим порядок наводить начали, старые версии зачастую вообще клали на стандарты

vaino
()
Ответ на: комментарий от anonymous

чем он лучше gcc?

быстрее раза в два, есть встроенные инструменты для статичного анализа и реализации автокомплита, более вменяемые сообщения об ошиьках

vaino
()

Однако для Debian важно, чтобы clang справлялся со всеми поддерживаемыми архитектурами (11 официальных, 6 неофициальных).

И как, справляется?

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

ну и, судя по новости, более строгое соответствие стандартам

vaino
()
Ответ на: комментарий от anonymous

а как у него с оптимизациями?

похуже чем gcc, на большинстве тестов практически вровень или даже чуть лучше, но есть тесты, где gcc значительно быстрее

vaino
()

Отличная новость, ждем ебил^W ускорения работы всей системы.

loz ★★★★★
()

да, clang/llvm молодцы, допилили бы генерацию зависимостей (пока её нет даже в гит), мы бы coreboot тоже собирали.

XVilka ★★★★★
()

clang способен заменить gcc

А фортран? А паскаль? А другие языки? Вывод: clang не может заменить GCC.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

Кстати, даже если рассматривать гальванизированную мумию производства Никлауса Вирта в качестве ЯП, GPC безнадежно сливает FPC

V_L_A_D ★★
()
Ответ на: комментарий от ForwardToMars

Никто его же пока не пихает как поттерингоподелки. Будет быстрее - станет дефолтным, а пока gcc/g++.

f1xmAn ★★★★★
()
Ответ на: комментарий от V_L_A_D

гальванизированную мумию производства Никлауса Вирта

Ну уж всяко лучше сишечки и уже тем более крестов.

Но по сравнению с тем же обероном — да, каменный век.

buddhist ★★★★★
()

заменить gcc/g++ как компилятор C/C++ по умолчанию в дистрибутивах Linux и BSD.

Ээ, зачем?

darkshvein ☆☆
()

ну раз дебианщики говорят что стабильно, то значит так оно и есть.

trueshell ★★★★★
()
Ответ на: комментарий от darkshvein

На этапе разработки куда важнее иметь адекватный вывод ошибок и скорость пересборки, чтобы тот же eclipse-cdt не заикался на файлах.

Конечный билд можно сделать и при помощи другого компилятора.

BlackV
()
Ответ на: комментарий от Quasar

Ну фортран, если всерьез использовать,-- то интеловский, про паскаль — так FreePascal есть. Джава и так там полуживая. По крайне мере я попадал в ситуацию когда нужна сановская jvm и никак иначе. Так что, как компиллятор Cи — может и заменит. Вопрос в том, насколько там C++ хорош и сколько надо с++ного рантайма с собой тащить.

gns ★★★★★
()
Ответ на: комментарий от fero

Это характерная черта линуксоидов - если что-то слишком стабильно и распространено, то красноглазить с ним уже не интересно, его нужно закопать и заменить чем-то кривым но новым

anonymous
()
Ответ на: комментарий от Ziel

Толсто. Вообще, я лелею утопическую мечту, что сишечка когда-нибудь умрет, освободив место для паскалеподобных языков :)

buddhist ★★★★★
()

Удивительно, что «clang может заменить gcc/g++ как компилятор C/C++ по умолчанию» воспринимается аудиторией как «gcc закопают».

mono ★★★★★
()
Ответ на: комментарий от livedock

Такие вот «колбасники» СССР развалили ради свободы. Посмотрим когда gpl закопают что ТНК сделают с бздунами-грантоедами.

alx_me ★★☆
()
Ответ на: комментарий от livedock

Хотят освободиться от gnu лицензии в пользу bsd , т.к. их «свобода» , хуже рабства

Кому она хуже? Копирастам? Остальным вообще пофигу на лицензию, по большому счёту.

ForwardToMars
()
Ответ на: комментарий от ForwardToMars

Скорость компиляции важна при разработке, например. А делать другим компилятором финальную сборку — нехорошо. Могу сказать, что clang реально быстрее на с++, а скорость линковки — примерно как у gold.

note173 ★★★★★
()
Ответ на: комментарий от anonymous

stable api is nonsence. Или может тролят, дабы мотивировать комьюнити gcc разработчиков :)

Вон бсдшники на pcc вообще молятся.

mrdeath ★★★★★
()
Ответ на: комментарий от buddhist

Вообще, я лелею утопическую мечту, что сишечка когда-нибудь умрет, освободив место для паскалеподобных языков :)

не-а

даже если сишечка когда-нибудь умрёт, её вытеснит что-нибудь вроде Rust (http://www.rust-lang.org/)

V_L_A_D ★★
()
Ответ на: комментарий от ForwardToMars

Смешно да. А весь код на фортране просто выкинуть. Язык-то не нужен, да? Или может ты этот код перепишешь?

кто действительно использует фортран, тот конпелирует его Intel'овским продуктом

V_L_A_D ★★
()
Ответ на: комментарий от livedock

А я погуглил и понял, что яблофагам и бздунам попы припекает от gcc, остюда и еретический clang.

fero ★★★★
()
Ответ на: комментарий от mono

Наверное потому что софт обычно в один момент времени в одной ситуации компилируют одним компилятором.

Jetty ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.