>> Прошу без автомобильных аналогий, ибо я лишь пешеход (до работы пешком идти
>> 15 минут).
> Ок. Тогда аналогия простая - вы, переходя дорогу на зелёный свет, можете
> смотреть в небо, но лучше глядеть по сторонам.И? Поясните для тупого, как конкретно эта аналогия связана с данным диалогом? :)
>> Однако насколько я понимаю, следование ПДД всеми участниками движения
>> не гарантирует невозникновение аварийных ситуаций (где уже кто-то будет тупо вынужден
>> в кого-то врезаться и стать в результате нарушителем),
> Почему? ПДД пишутся для того, чтобы при полном соблюдении ПДД и исправности
> транспорта аварий не было в принципе.
Мне, например, рассказывали про ситуации с маленькими автомобилями, которые не видно из больших автомобилей. Вроде как в рамках соблюдения ПДД образовывалась авария. Но я, как я уже сказал, некомпетентен в данном вопросе, поэтому спорить не буду.
>> Поправьте, если не прав, ибо я не знаю ПДД. К тому
>> же, когда ты пишешь код и ты видишь UB, то у
>> тебя есть возможность его исправить, а когда случилось ДТП -- у
>> тебя уже нет возможности его исправить.
> Это, если код пишешь ТЫ. А если это огромная, дико полезная программа
> с полувековой историей (типа Maxima)?
В чём разница? Замените "ты" на "авторы Maxima".
> Ещё пронзительнее пример - ScanKromsator, который некий Bolega начал писать году в
> 1996-м. Программа дико полезна - ей обработана подавляющая часть .djvu файлов
> со сканами отечественной технической литературы. Но это именно говнокод, где его
> автор - непонятно, где исходники - тоже. Глюков море, но переписывание
> займёт лет 10, т.к. внутре SK хорошие алгоритмы + эвристики.
Не пример для меня. Не пользовался такой программой. Однако, если код говно, то он -- говнокод. И виноваты в этом его авторы, а не авторы компиляторов. Это вообще не задача компиляторов подстраиваться под такие вот говнокоды. Ухудшать компилятор из-за чужого говнокода -- это изначально деструктивная установка.
>> Но Ленин, как и разработчики gcc лишь выполнял свою задачу, они
>> не должны думать о таких побочных эффектах.
> Ленин - нет, а gccшники - да.
> Буквально год назад был пример с поломкой SPEC. Тоже ошибка в тесте,
> тоже ломает оптимизация gcc. Но при выборе "удавчик, крокодильчик или хомячок":
> исправление SPEC => все предыдущие результаты в унитаз, забить => gcc
> больше не проходит SPEC, вставить костыль; почему-то выбирают 3-й вариант.
Не понимаю зачем к рассмотрению данной проблемы gcc-vs-bind приплетать другие gcc-related проблемы. Нет никакого желания обсуждать ещё один случай, пока ещё не закрыли обсуждение данного. Так мы бесконечно закопаемся.
>> Что такое "хрупкая" сборка? Естественно ветка вводимая в production должна работать надёжно.
>> А обычно это release-сборки, следовательно...
> Вы правильно всё поняли. Следовательно, debug мы компилируем с -O2, а release
> - с -O0? ;-)
Серьёзно? Дико прошу простить за переход на личности, но вы вообще работали с HPC-кластерами? Или просто с высоконагруженными сервисами?
В общем, я с вами тут абсолютно не согласен. "-O2" нужен не только для тестов, но и для работы с адекватной скоростью.