[devel] slang

Sergey Y. Afonin asy на altlinux.org
Пн Апр 8 23:33:38 MSK 2019


On Monday 08 April 2019, Dmitry V. Levin wrote:

> Новая версия компилятора производит другой мусор, со стороны это выглядит
> как псевдослучайный процесс.

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

> > > Утверждение "UB работало" звучит довольно странно.
> > 
> > UB согласно спецификации ещё не означает же UB в рамках конкретной
> > версии компилятора? Иначе бы все UB вылезали на белый свет быстро и
> > больно, а такого не происходит.
> 
> Что значит "UB в рамках конкретной версии компилятора"?
> UB - это свойство кода, а не компилятора.

Вообще я уже кое-что почитал (и напоминаю, в этом веке я программистом не
работал, тем более на C ;-) ). UB, согласно прочитанному, это свойство
спецификации. Но некая конкретная версия компилятора вполне может какие-то
случаи обрабатывать вполне предсказуемо с точки зрения разработчика этого
самого компилятора. Да, это не переносимо, да, это может сломаться, если
разработчик компилятора передумает. Да, в целом это не хорошо. Вот как-то
так получается.

Кстати, несколько меняя тему, а с чего решили знаковое переполнение сделать
UB? Вроде бы уход в отрицательные значения логично выглядит. Сделали - так
сделали, но интересно, какой смысл.

-- 
С уважением, Сергей Афонин


Подробная информация о списке рассылки Devel