Re[3]: Как обойти strict aliasing rule?
От: watchmaker  
Дата: 18.06.16 08:10
Оценка: 2 (1)
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, T4r4sB, Вы писали:


TB>>memmove позволяет битово копировать данные разных типов без УБЭ. Но от огребания от индейца не спасёт, как уже сказали.


E>Тока это нагнёт оптимизацию ещё мощнее...


А что за компилятор, который не умеет memmove?
Например, gcc и clang заменяют вызов функции на простое чтение из памяти даже при полностью выключенной оптимизации. Так что каст через memcpy может использоваться для борьбы с алиасингом. https://godbolt.org/g/mtEgIY
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.