[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