LINUX.ORG.RU
ФорумTalks

Линус обозвал GCC исключительным г-ном

 , ,


1

3

http://lkml.iu.edu/hypermail/linux/kernel/1407.3/00650.html

Ъ:

Ok, so I'm looking at the code generation and your compiler is pure and utter *shit*.

Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.

Lookie here, your compiler does some absolutely insane things with the spilling, including spilling a *constant*. For chrissake, that compiler shouldn't have been allowed to graduate from kindergarten. We're talking «sloth that was dropped on the head as a baby» level retardation levels here

Somebody needs to raise that as a gcc bug. Because it damn well is some seriously crazy shit.

Anyway, this is not a kernel bug. This is your compiler creating completely broken code. We may need to add a warning to make sure nobody compiles with gcc-4.9.0, and the Debian people should probably downgrate their shiny new compiler.

Ну так gcc говно и есть же, а ядро можно и clang'ом собрать.

Farcaller ★★ ()
Ответ на: комментарий от post-factum

А что при этом с быстродействием кода? Кто-нибудь гонял бенчмарки для одинаковых ядер, собранных GCC и Clang?

Axon ★★★★★ ()

Нет ли в этом подкопа под Столмана?

sin_a ★★★★★ ()

неужто предлагает пойти вслед за бздёй и вместо работающего кода писать академически корректный код?

xsektorx ★★★ ()

Ну все, скоро Торвальдс свой компайлер напишет.

pi11 ★★★★★ ()

Шо, король умер, да здравствует шланг?

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

я не хейтер, но напоминаю, что кланг по-прежнему сливает гцц во всём кроме скорости компиляции

xsektorx ★★★ ()

Ждём перехода Линуса на шланг? :)

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

Ещё в информативности сообщений об ошибках. Хуже gcc в этом плане только недокомпиляторы/интертрепаторы с автогенерацией парсеров, выдающие ошибки типа «unexpected T_BLABLA_XYZZY».

svr4 ()

Тролльвальдс всё ещё не может писать нормальным языком. Зачем это здесь? Унеси эту гадость.

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

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

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

В нашем деле не место белоручкам.

Deleted ()

Не gcc, а одно единственную его версию с багом, который к 4.9.что-то там пофиксили.

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

это врядли. да и в любом случае, не запретит же он компилять ядро с гцц

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

скорость сгенерированного кода, например. причём в этом он сливает, насколько помню, даже гцц на основе ллвм.

А по-моему наоборот кланг тут по тестам выигрывал, но проигрывал по размеру бинарника. Надо найти конкретные ссылки, а то давно это было.

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

давно уж точно сливал, может сейчас подтянулся. ты, наверно, всё-таки спутал со скоростью самой компиляции

xsektorx ★★★ ()

Ты перепутал Ъ и !Ъ

luke ★★★ ()

Кому-то интересно мнение Линуса по неядерным вопросам?

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

ты, наверно, всё-таки спутал со скоростью самой компиляции

Нет, я точно видел такую фразу про скорость работы.

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

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

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

Не gcc, а одно единственную его версию с багом

Причем еще и только с ключом -Os, с -O2 - все ок. Но какой заголовок!

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

Ещё в информативности сообщений об ошибках.

Ты последние gcc юзал?

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

кланг по-прежнему сливает гцц во всём кроме скорости компиляции

Технически, clang превосходит gcc в бесконечное количество раз, т.к. выданный им код работает.

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

Сломавшийся молоток - не повод плюхаться в лепёшку говна.

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

http://stackoverflow.com/questions/3187414/clang-vs-gcc-which-produces-better...

Мужик в ответе пишет о своих экспериментах. Вывод примерно такой: если писать код, оптимизируя его по ходу дела вручную, то gcc скомпилирует его процентов на 10-20 лучше; если писать код без оглядки на оптимизацию, полагаясь именно на оптимизатор в компиляторе, то clang оказывается лучше на те же 10-20 процентов.

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

По показателю developer-friendly gcc сливает. Можно взять для примера сообщения об ошибках и возможности по инструментированию кода.

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

и у гцц работает, это только один баг. у кланга же не работает без костылей. до недавнего времени с ядром не работал вообще

xsektorx ★★★ ()

Ну вот смотри. Линус покричав в своей рассылке создал баг в багтрекере gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904

После чего через полтора часа GCC-разработчики указали, что это дубль бага https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801 который был исправлен за 8 дней до того как его заметили разработчики ядра и в следующем релизе всё будет работать.

kim-roader ★★ ()
Ответ на: комментарий от Miguel

не осилил телегу. какой код в итоге самый быстрый оказался и где собственно сам код?

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

и у гцц работает, это только один баг.

Постоянно вылезает «только один баг».

до недавнего времени с ядром не работал вообще

Потому что ядро написано с использованием нестандартных гнутых расширений.

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

У шланга тоже баги вылезают. Как и у любого софта.

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

вылезает. а потом его исправляют. баги - это нормально

ну да. но ведь не в этом суть, не работало же. а значит - провал

xsektorx ★★★ ()
Ответ на: комментарий от post-factum

Линус ещё написал «it makes me a bit nervous about compilers» в багрепорте, вроде.

И он прав. Если ошибка в компиляторе, отследить баг становится очень трудно. Как думаешь, есть ли ещё что-то подобное, но редко воспроизводимое, в уже работающем коде?

Adonai ★★★ ()
Последнее исправление: Adonai (всего исправлений: 1)
Ответ на: комментарий от PolarFox

У шланга тоже баги вылезают. Как и у любого софта.

У шланга баги не висят десятилетиями. И девелоперы шланга в общении куда адекватнее.

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

вылезает. а потом его исправляют. баги - это нормально

Баги - признак рукожопия.

ну да. но ведь не в этом суть, не работало же. а значит - провал

Суть как раз в этом. Используешь нестандартные расширения языка - изволь страдать. MSVC тоже не может собрать линупсовое ведро, но ведь это не считается его недостатком :)

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

Не gcc, а одно единственную его версию с багом, который к 4.9.что-то там пофиксили.

Это уже не важно. Теперь тред о «Clang vs GCC»

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

У шланга баги не висят десятилетиями.

Лишь потому что ему меньше 10 лет.

И девелоперы шланга в общении куда адекватнее.

Линус кроет всех матюками, что не мешает линуксу быть одним из лучших ядер ОС.

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

ну, про ошибки я выше признал. про инструментирование хз, возможно

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

MSVC тоже не может собрать линупсовое ведро, но ведь это не считается его недостатком

MSVC с включенными расширениями даже ANSI C не соответствует.

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