[devel] slang
Sergey Y. Afonin
asy на altlinux.org
Пн Апр 8 22:18:29 MSK 2019
On Monday 08 April 2019, Dmitry V. Levin wrote:
> > И да, я не отрицаю, что UB в Slang - это не хоршо.
>
> Вы не поняли. UB - это не просто нехорошо, UB - это смертельно.
>
> Компилятор вправе определить результат UB так, как ему будет удобно,
> и применить к результату оптимизацию, которая превратит ваш исходный
> код в бинарный мусор.
1. В случае Slang есть тесты, которые, как уже выяснилось, вполне
показывают ситуацию вида "превратилось в бинарный мусор". Хотя допускаю,
что что-то могут и не показать.
2. Компилятор, надеюсь, не делает это случайным образом? И без смены
версии компилятора другой код не получается?
> Утверждение "UB работало" звучит довольно странно.
UB согласно спецификации ещё не означает же UB в рамках конкретной
версии компилятора? Иначе бы все UB вылезали на белый свет быстро и
больно, а такого не происходит.
> Результат применения следующей версии компилятора к UB - это примерно
> то же самое, что и получение следующего псевдослучайного числа. Не стоит
> полагаться на то, что источник псевдослучайных чисел будет всегда выдавать
> вам подходящие числа.
Это понятно, но результат, тем не менее, можно так или иначе проверить на
предмет "всё сломалось". Если взять прямо данный конкретный случай, то
я пока не вижу на пакете, например, mc багов, связанных с неправильной
сборкой Slang.
--
С уважением, Сергей Афонин
Подробная информация о списке рассылки Devel