Size: a a a

2020 August 12

AZ

Alex Zhukovsky in rust_offtopic
на ЯВУ они есть
источник

CD

Constantine Drozdov in rust_offtopic
вот РБМК с 5 стержнями - это UB
источник

SP

Stanislav Popov in rust_offtopic
Constantine Drozdov
я попрошу, уб не происходит
источник

AZ

Alex Zhukovsky in rust_offtopic
Коля🤔🎭
Ну он так и говорит, на низком уровне нет уб
хотя на низком уровне тоже УБ есть
источник

CD

Constantine Drozdov in rust_offtopic
это важная поправка в данном случае
источник

AZ

Alex Zhukovsky in rust_offtopic
я согласен, я как раз думал отредактироват ьсообщение
источник

CD

Constantine Drozdov in rust_offtopic
int main() {
  __builtin_unreachable(); //самое чистое UB во вселенной
}

у компилятора в голове "main вызывается" и "main не вызывается"
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
int main() {
  __builtin_unreachable(); //самое чистое UB во вселенной
}

у компилятора в голове "main вызывается" и "main не вызывается"
почитал что УБ в армах называется UNPREDICTABLE
источник

CD

Constantine Drozdov in rust_offtopic
компилятор может случайно начать форматировать диск еще до того, как программа запущена - от него потребовали решить парадокс лжеца
источник

SP

Stanislav Popov in rust_offtopic
я всегда думал просто что УБ значит что компилятор не знает как компилировать эту дичь или чтото скомпилируется но никто не знает как оно выполнится
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
у мозиллы 450млн баксов доход в 2018, а тут 13 млн инвестиций привлекали
Хм, ладно
источник

SP

Stanislav Popov in rust_offtopic
ну собственно если ты знаешь как оно выполнится это это уже defined бихейвиор
источник

CD

Constantine Drozdov in rust_offtopic
Stanislav Popov
я всегда думал просто что УБ значит что компилятор не знает как компилировать эту дичь или чтото скомпилируется но никто не знает как оно выполнится
компилятору гарантируют, что такого не бывает
источник

AZ

Alex Zhukovsky in rust_offtopic
A1477E
This register combination results in UNPREDICTABLE behavior
This error is generated when you are assembling an instruction that has unpredictable results on execution. You must rewrite your code to avoid this unpredictable behaviour. For example, the following instructions all cause this error when assembling to 32-bit Thumb:
ADD sp, r0, #100 ; error - UNPREDICTABLE use of SP
CMP pc, #1 ; error - UNPREDICTABLE use of PC
PUSH    {r0, pc} ; error - use of an UNPREDICTABLE register combination
источник

AZ

Alex Zhukovsky in rust_offtopic
Stanislav Popov
я всегда думал просто что УБ значит что компилятор не знает как компилировать эту дичь или чтото скомпилируется но никто не знает как оно выполнится
Почитай, полезное чтиво

https://www.ralfj.de/blog/2017/07/14/undefined-behavior.html
источник

AZ

Alex Zhukovsky in rust_offtopic
компилятор всегда знает что он сгенерирует
источник

AZ

Alex Zhukovsky in rust_offtopic
только это может зависеть от кучи факторов
источник

AZ

Alex Zhukovsky in rust_offtopic
если ты не любишь что программа делает разные вещи в зависимости от фазы луны, номера билда компилятора и включенных флагов то лучше уб не допускать
источник

AZ

Alex Zhukovsky in rust_offtopic
Stanislav Popov
ну собственно если ты знаешь как оно выполнится это это уже defined бихейвиор
ты не знаешь, можешь проверить только для конкретного билда конкретного компилятора с конкретными настройками. Чуть что поменяешь - и результат может быть другой
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
если ты не любишь что программа делает разные вещи в зависимости от фазы луны, номера билда компилятора и включенных флагов то лучше уб не допускать
угу, точно так же как лучше не стирать урановый лом в стиралке
источник