Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I tried compiling "int x = 1 / 0;" in both the latest GCC and Clang with -O0 on x86-64 on Godbolt. GCC intuitively preserves the calculation and emits an idiv instruction. Clang goes ahead and does constant folding anyway, and there is no division to be seen. So the oft-repeated advice of using -O0 to try to compile the code as literally as possible in hopes of diagnosing UB or making it behave sanely, is not great advice.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: