В следующем коде последние GCC и Clang предполагают, что Malloc никогда не проходит и просто удалить ветвь < /p>
Код: Выделить всё
#include
int main() {
if (!malloc(1)) return 10;
}
< /code>
Оба новых компилятора генерируют это (с -O3). Старый GCC (но не кланг) не так уверен, хотя. < /P>
main:
xor eax, eax
ret
Подробнее здесь: https://stackoverflow.com/questions/796 ... ever-fails
Мобильная версия