https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118033
--- Comment #3 from Dmytro Ovdiienko <dmitriy.ovdienko at gmail dot com> --- I believe in 99% cases whatever is passed to the assert() is a legal expression that returns bool. And there is an opportunity to optimize the output assembly in case we if want to reuse that expression for the Release build.