On 12/11/2018 11:26, James E. King III wrote:
I was putting together some additional testing for a library and my CI jobs were failing in release mode. I was able to reproduce the issue locally. On examination of the boost test matrix however I was unable to see the same failures. When I dug into it a little bit more, it looks like the clang linux build jobs only build the default variant (debug), and therefore will not catch release-mode optimization issues when running the unit tests.
Excluding compiler bugs and intentional differences (asserts, iterator debugging, and the like), differences in behaviour between debug and release builds usually indicates that the code relies on undefined behaviour somewhere. Consider running UBsan or a similar tester over the affected library.