[devel] slang
Dmitry V. Levin
ldv на altlinux.org
Вт Апр 9 20:36:08 MSK 2019
On Tue, Apr 09, 2019 at 09:22:15PM +0400, Sergey Y. Afonin wrote:
> On Tuesday 09 April 2019, Mikhail Efremov wrote:
>
> >> А именно о разнице между спецификацией и конкретной реализацией.
>
> > Просто нужно осознать, что после того, как в программе случилось
> > UB, она может сделать что угодно, на что ей хватит прав
>
> Э, нет. После того, как в программе случилось UB (в том виде, в котором это
> обсуждалось), _компилятор_ может сделать какой угодно код, после чего этот
> код может сделать что угодно, на что ему хватит прав. И это уточнение про
> компилятор тут ключевое. Если каким-то образом известно (тесты там, код
> ассемблерный посмотрели промежуточный - мало ли), что какой-то компилятор
> это UB обрабатывает так, как хотелось (пусть так совпало) то скомпилированная
> программа будет делать ровно то, что хотелось, без всяких "что угодно", пока
> её не соберут другим компилятором.
OK, допустим, у нас у всех одинаковое понимание термина UB.
Как теперь исправить все пакеты, в исходниках которых есть такое UB, про
которые мы не можем утверждать, что нам достоверно известно о том, что
скомпилированной код будет делать именно то, что имел в виду автор
исходного кода, содержащего UB?
gcc -fwrapv при первом подозрении на наличие в пакете переполнений
в знаковой арифметике?
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 801 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20190409/50e922e6/attachment-0001.bin>
Подробная информация о списке рассылки Devel