LINUX.ORG.RU

gcc-8 совсем поломанный

 


3

7

Я так понимаю в последних версиях gcc хипстеры вообще всё сишку решили сломать. Хотя пишут статейки что C никогда не был портабельным ассемблером, но ведь использовали его так и куча кода накопилась. Теперь этот весь код сломан. Например сброс знака по (a & 0x7fffffff) не работает и много всего вообще теперь не работает и писать теперь надо как на плюсах. И страшно бояться любого UB так как оно будет страшно падать на ровном месте и 2+2 будет 5. Особенно это опасно, если лет 30 устоявшиеся методы для решения задач были, и эти чувырлы с UB головного мозга это всё радостно ломают. Я так понимаю это делается специально, чтобы кому-то не было скучно на работе, а реального толку 0. Какой сейчас более-менее адекватный gcc, 5.4? Шланг не предлагать, он никогда не был компилятором, вообще. Это они весь сыр-бор и начали. Я так понимаю реально там полезное сейчас только в C++ делают, в C только ломают.

★★★★★

я много пишу на С. всё нормально работает с самым последним компилятором.

что у тебя стряслось, что перестало работать? может, ты используешь какие-то особенности конкретных архитектур? потому что «сброс знака по (a & 0x7fffffff)» - это реализация, а не стандарт С. стандарт сообщает, что int должен вмещать диапазон от и до. и быть _не меньше_ 4 байт. но «не меньше» не означает равно. если ты хочешь менять знак таким экзотическим образом, используй INT_MAX. и вообще числовые константы в коде - это зло.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
18 октября 2018 г.

Всем спасибо. Эта дискуссия послужила предпосылкой для разработки новой диагностики. Подробнее.

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