What's Today

Hacker News Front Page · signa11 ·

Attention people who think UB is fine

El artículo muestra que el comportamiento indefinido en C++ no garantiza que el programa simplemente falle con un error de segmentación: puede permitir que el compilador elimine instrucciones, ejecute efectos inesperados o produzca resultados que parecen seguir el código. Con ejemplos de GCC y Clang, compara llamadas a `std::unreachable()`, desreferencias de punteros nulos y aritmética con esos punteros. La conclusión es que, una vez que se produce comportamiento indefinido, no se puede asumir qué hará el programa.

After my post on undefined behavior in C some people insisted that it’s demonstrably fine, we know what the code will do, and at worst we’ll get a segfault.

Leer la nota completa en blog.habets.se →