Summary
Jason demonstrates how Interprocedural Optimization (IPO) and Link Time Optimization (LTO) can detect One Definition Rule (ODR) violations that normally go unnoticed during compilation. Using an example with two different definitions of the same struct in separate translation units, he shows how enabling IPO in CMake catches the inconsistency at link time. This compiler feature helps identify ABI incompatibilities and subtle bugs that would otherwise result in undefined behavior with potentially silent failures.