This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/72823] [7 Regression] r239175 causes build failure
- From: "dmalcolm at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 06 Aug 2016 17:35:15 +0000
- Subject: [Bug bootstrap/72823] [7 Regression] r239175 causes build failure
- Auto-submitted: auto-generated
- References: <bug-72823-4@http.gcc.gnu.org/bugzilla/>
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.