In optimized code, it is far more likely that one has a programming error in one's source code that an aggressive optimization revealed, rather than a bug in an industrial compiler. For example, an uninitialized variable that ends up sharing a memory location with some other variable whose life-time doesn't overlap in optimized mode rather than having its own memory location without optimization.
That one is caught be a warning, but there are thousands of possible errors that can be exposed this way.
Compilers have bugs all the time, but code in a write-test-debug-cycle typically has many more.
That one is caught be a warning, but there are thousands of possible errors that can be exposed this way.
Compilers have bugs all the time, but code in a write-test-debug-cycle typically has many more.