Lightning Talk: Un-Undefining Undefined Behavior in C++
summary
Claims a practical way to force compilers to emit correct code despite UB by hiding the undefined operation from static view: type punning is moved into a separately compiled library so the compiler must assume value-preserving returns; runtime-loaded code and a small "taint" routine make the compiler treat fast inverse square root as defined and then patch the call to recover performance; signed integer overflow remains unresolved. Demos run and the inverse‑sqrt patching works; overflow is still open.
AI-written summary · about
related talks
07mType punning done right
05mLightning Talk: Rust Without ‘Unsafe’ Is as Unsafe as C++
01h 02mEmbedded Friendly C++: Features That Make a Difference
05mLightning Talk: Embrace Leaky Abstractions in C++
44mThis is why we can('t) have nice things
01h 03mUnlocking the value of C++20
33mC++: Unexpected Behaviour
23mFunctional Programming in C++ (Run time vs Compile time types)
