https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72823
--- Comment #4 from David Malcolm <dmalcolm at gcc dot gnu.org> --- (In reply to David Malcolm from comment #3) > Not sure why I'm not seeing it fail; am investigating further. Looks like gcc_assert in libcpp was doing nothing on my box. The code i libcpp/system.h has: /* Use gcc_assert(EXPR) to test invariants. */ #if ENABLE_ASSERT_CHECKING #define gcc_assert(EXPR) \ ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) #elif (GCC_VERSION >= 4005) #define gcc_assert(EXPR) \ ((void)(__builtin_expect (!(EXPR), 0) ? __builtin_unreachable (), 0 : 0)) #else /* Include EXPR, so that unused variable warnings do not occur. */ #define gcc_assert(EXPR) ((void)(0 && (EXPR))) #endif and this appears to effectively be a no-op on my box. I can't see anywhere else where ENABLE_ASSERT_CHECKING could be set up. On hacking the first #if ENABLE_ASSERT_CHECKING to be #if 1 I immediately see the crash. Am testing a fix.