No strict aliasing C / C++
Optimizing compilers may enable strict aliasing. For a wide variety of existing projects, strict aliasing provides additional optimization. For some projects, such as MUMPS, memory leaks have been observed that are resolved by disabling strict aliasing using GCC flag “-fno-strict-aliasing”.
Compilers with ability to switch on / off strict aliasing include:
libuv recommends -fno-strict-aliasing due to type punning.
References:
- discussion
- presentation
- Red Hat: “The joys and perils of C and C++ aliasing” Part 1 & Part 2