>> не уверен в том, что в твоей
>> программе нет UB — не включай оптимизатор. всё, проблема решена.
> А ты, умный.таки да.
> Я выше и писал, что при таком подходе -O0 будет у всех.
отучаемся говорить за всю сеть. у говнокодеров — да. люди же, которые возьмут на себя труд изучить язык, на котором пытаются писать, вполне в состоянии делать код без UB (само собой, не обязательно сразу — но для того и существует тестирование с отладкой). вторые называются «программисты», а первые — «говнокодеры».
> Ибо работающая в 2 раза медленее программа лучше падающей.
а ещё лучше — и работающая быстро, и не падающая. но это же не говнокод писать, это надо где-то добыть рабочий мозг и поправить ошибки в своей программе. намного проще не мучаться и просто сказать, что компилятор, сволочь такая, испортил своими оптимизациями Великолепный Код.
> В любой программе есть ошибки, но ты, конечно, об этом
> предпочитаешь не думать.
ты прав: я об этом не думаю, я просто их чиню. если бы я вместо починки сидел и философствовал о том, что в любой программе есть ошибки, то тоже ругался бы на мерзкие компиляторы, наверное.
>> p.s. то, что в 4.9 реализовали дополнительные оптимизации — это хорошо. то,
>> что они ломают софт говнокодеров — тоже хорошо.
> Предлагаю вообще без предупреждений ставить вызов rm -rf $HOME в том месте,
> где встретилось UB. А чё, по стандарту можно.
отличная идея, кстати. правда, боюсь, что такой патч не примут. ну, не говоря уже о том, что его и написать невозможно, потому что если бы можно было отлавливать все UB на стадии компиляции, их бы и отлавливали.