[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