https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70650
--- Comment #11 from Jack Howarth <howarth.at.gcc at gmail dot com> --- In case it helps, with the proposed patch, the backtrace from fancy_abort in the failing string-inst.cc compilation on darwin appears as... (lldb) bt * thread #1: tid = 0x54d252, 0x00000001018798f3 cc1plus`fancy_abort(file="../../gcc-6-20160414/gcc/expr.c", line=3546, function="emit_move_insn") + 19 at diagnostic.c:1329, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 * frame #0: 0x00000001018798f3 cc1plus`fancy_abort(file="../../gcc-6-20160414/gcc/expr.c", line=3546, function="emit_move_insn") + 19 at diagnostic.c:1329 frame #1: 0x0000000100da030b cc1plus`emit_move_insn(x=0x000000010534cea0, y=0x000000010534ce58) + 123 at expr.c:3545 frame #2: 0x0000000100dca4b0 cc1plus`emit_single_push_insn_1(mode=QImode, x=0x000000010534ce58, type=0x00000001026b1dc8) + 656 at expr.c:4033 frame #3: 0x0000000100dab5e9 cc1plus`emit_single_push_insn(mode=QImode, x=0x000000010534ce58, type=0x00000001026b1dc8) + 57 at expr.c:4045 frame #4: 0x0000000100dab1a7 cc1plus`emit_push_insn(x=0x000000010534ce58, mode=QImode, type=0x00000001026b1dc8, size=0x0000000000000000, align=64, partial=0, reg=0x0000000000000000, extra=0, args_addr=0x0000000000000000, args_so_far=0x0000000144808480, reg_parm_stack_space=0, alignment_pad=0x0000000144808480, sibcall_p=true) + 3815 at expr.c:4384 frame #5: 0x0000000100bc315c cc1plus`store_one_arg(arg=0x00007fff5fbfd750, argblock=0x0000000000000000, flags=0, variable_size=0, reg_parm_stack_space=0) + 3036 at calls.c:4883 frame #6: 0x0000000100bbbf16 cc1plus`expand_call(exp=0x0000000105297b40, target=0x0000000000000000, ignore=1) + 10550 at calls.c:3191 frame #7: 0x0000000100dbcb8f cc1plus`expand_expr_real_1(exp=0x0000000105297b40, target=0x0000000000000000, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0000000000000000, inner_reference_p=false) + 25647 at expr.c:10601 frame #8: 0x0000000100db4297 cc1plus`expand_expr_real(exp=0x0000000105297b40, target=0x0000000144808480, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0000000000000000, inner_reference_p=false) + 215 at expr.c:7961 frame #9: 0x0000000100bf44d1 cc1plus`expand_expr(exp=0x0000000105297b40, target=0x0000000144808480, mode=VOIDmode, modifier=EXPAND_NORMAL) + 49 at expr.h:256 frame #10: 0x0000000100bf3a2e cc1plus`expand_call_stmt(stmt=0x0000000104d79c78) + 2158 at cfgexpand.c:2661 frame #11: 0x0000000100bf051e cc1plus`expand_gimple_stmt_1(stmt=0x0000000104d79c78) + 430 at cfgexpand.c:3549 frame #12: 0x0000000100bee523 cc1plus`expand_gimple_stmt(stmt=0x0000000104d79c78) + 131 at cfgexpand.c:3715 frame #13: 0x0000000100bef993 cc1plus`expand_gimple_tailcall(bb=0x0000000104fb7a28, stmt=0x0000000104d79c78, can_fallthru=0x00007fff5fbff07f) + 35 at cfgexpand.c:3762 frame #14: 0x0000000100be7ff8 cc1plus`expand_gimple_basic_block(bb=0x0000000104fb7a28, disable_tail_calls=false) + 4072 at cfgexpand.c:5698 frame #15: 0x0000000100be4e9a cc1plus`(anonymous namespace)::pass_expand::execute(this=0x0000000143914260, fun=0x0000000104d79738) + 4074 at cfgexpand.c:6345 frame #16: 0x00000001011eb28a cc1plus`execute_one_pass(pass=0x0000000143914260) + 762 at passes.c:2336 frame #17: 0x00000001011ebdf7 cc1plus`execute_pass_list_1(pass=0x0000000143914260) + 103 at passes.c:2420 frame #18: 0x00000001011dcf6d cc1plus`execute_pass_list(fn=0x0000000104d79738, pass=0x0000000143910de0) + 77 at passes.c:2431 frame #19: 0x0000000100c3c50c cc1plus`cgraph_node::expand(this=0x0000000104989b80) + 540 at cgraphunit.c:1982 frame #20: 0x0000000100c4130a cc1plus`expand_all_functions() + 522 at cgraphunit.c:2118 frame #21: 0x0000000100c4022e cc1plus`symbol_table::compile(this=0x00000001448050a8) + 990 at cgraphunit.c:2474 frame #22: 0x0000000100c414f9 cc1plus`symbol_table::finalize_compilation_unit(this=0x00000001448050a8) + 297 at cgraphunit.c:2564 frame #23: 0x0000000101338cd0 cc1plus`compile_file() + 224 at toplev.c:490 frame #24: 0x0000000101337318 cc1plus`do_compile() + 328 at toplev.c:1988 frame #25: 0x0000000101336d48 cc1plus`toplev::main(this=0x00007fff5fbff8a8, argc=30, argv=0x00007fff5fbff8e8) + 376 at toplev.c:2096 frame #26: 0x000000010185fe20 cc1plus`main(argc=30, argv=0x00007fff5fbff8e8) + 64 at main.c:39 frame #27: 0x00007fff862545ad libdyld.dylib`start + 1 frame #28: 0x00007fff862545ad libdyld.dylib`start + 1 (lldb)