http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58723
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- The failure is for the assert: 295 /* Flags that should not appear on indirect calls. */ 296 gcc_assert (!(flags & (ECF_LOOPING_CONST_OR_PURE 297 | ECF_MAY_BE_ALLOCA 298 | ECF_SIBCALL 299 | ECF_LEAF 300 | ECF_NOVOPS))); Here, (flags & ECF_LEAF) != 0. The edge->caller is: (gdb) p dump_cgraph_node(stdout, edge->caller) _ZStL17DoFinalizeBooleanSt8XPBoolOpiPKSt5XPBoxPSt6vectorIS0_SaIS0_EE/0 (std::DoFinalizeBoolean(std::XPBoolOp, int, std::XPBox const*, std::vector<std::XPBox, std::allocator<std::XPBox> >*)) @0x2aaaac1f1e40 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local Called by: _ZNSt7XPClass4finiEPSt6vectorISt5XPBoxSaIS1_EE/1 (1.00 per call) Calls: Has 3 outgoing edges for indirect calls. My suspicion is that this is due to: DEF_INTERNAL_FN (GOMP_SIMD_VF, ECF_CONST | ECF_LEAF | ECF_NOTHROW)