https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109005
--- Comment #4 from simon at pushface dot org --- (In reply to Richard Biener from comment #3) > Eh, I'm hoping for a C testcase ... what's the actual ICE? This is an LLDB session -- hope that helps $ lldb /opt/gcc-13-20230226/libexec/gcc/x86_64-apple-darwin15/13.0.1/gnat1 (lldb) target create "/opt/gcc-13-20230226/libexec/gcc/x86_64-apple-darwin15/13.0.1/gnat1" Current executable set to '/opt/gcc-13-20230226/libexec/gcc/x86_64-apple-darwin15/13.0.1/gnat1' (x86_64). (lldb) run -quiet -O2 -dumpbase stm32-timers.adb -dumpbase-ext .adb -gnatez -gnatea -gnatez -mmacosx-version-min=12.0.0 -mtune=core2 -fPIC stm32-timers.adb -o /var/folders/_q/fvnxz46903z9hjh38fz0lyhm0000gs/T//cc4fhSaX.s Process 55466 launched: '/opt/gcc-13-20230226/libexec/gcc/x86_64-apple-darwin15/13.0.1/gnat1' (x86_64) during GIMPLE pass: ifcvt Process 55466 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x00007ff80dd106b2 libsystem_platform.dylib`_platform_strlen + 18 libsystem_platform.dylib`: -> 0x7ff80dd106b2 <+18>: pcmpeqb (%rdi), %xmm0 0x7ff80dd106b6 <+22>: pmovmskb %xmm0, %esi 0x7ff80dd106ba <+26>: andq $0xf, %rcx 0x7ff80dd106be <+30>: orq $-0x1, %rax Target 0: (gnat1) stopped. (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) * frame #0: 0x00007ff80dd106b2 libsystem_platform.dylib`_platform_strlen + 18 frame #1: 0x0000000102a43f24 gnat1`libiberty_vprintf_buffer_size + 779 frame #2: 0x0000000102a483f1 gnat1`xvasprintf + 35 frame #3: 0x0000000102a48082 gnat1`xasprintf + 159 frame #4: 0x000000010003e629 gnat1`internal_error_function(diagnostic_context*, char const*, __va_list_tag (*) [1]) + 415 frame #5: 0x000000010296caf1 gnat1`diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) + 635 frame #6: 0x000000010296d2c1 gnat1`diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t) + 272 frame #7: 0x000000010296ed3f gnat1`internal_error(char const*, ...) + 239 frame #8: 0x000000010296f099 gnat1`fancy_abort(char const*, int, char const*) + 293 frame #9: 0x00000001024a1dae gnat1`make_ssa_name_fn(function*, tree_node*, gimple*, unsigned int) + 141 frame #10: 0x00000001024b2955 gnat1`make_temp_ssa_name(tree_node*, gimple*, char const*) + 109 frame #11: 0x000000010221a144 gnat1`ifc_temp_var(tree_node*, tree_node*, gimple_stmt_iterator*) + 44 frame #12: 0x00000001022238ea gnat1`lower_bitfield(gassign*, bool) + 415 frame #13: 0x0000000102224670 gnat1`tree_if_conversion(loop*, vec<gimple*, va_heap, vl_ptr>*) + 1337 frame #14: 0x0000000102224b47 gnat1`(anonymous namespace)::pass_if_conversion::execute(function*) + 275 frame #15: 0x0000000101f7aac8 gnat1`execute_one_pass(opt_pass*) + 800 frame #16: 0x0000000101f7af07 gnat1`execute_pass_list_1(opt_pass*) + 92 frame #17: 0x0000000101f7af38 gnat1`execute_pass_list_1(opt_pass*) + 141 frame #18: 0x0000000101f7af38 gnat1`execute_pass_list_1(opt_pass*) + 141 frame #19: 0x0000000101f7af9e gnat1`execute_pass_list(function*, opt_pass*) + 74 frame #20: 0x00000001017c53c0 gnat1`cgraph_node::expand() + 590 frame #21: 0x00000001017c5c61 gnat1`expand_all_functions() + 778 frame #22: 0x00000001017c6b0c gnat1`symbol_table::compile() + 962 frame #23: 0x00000001017c700e gnat1`symbol_table::finalize_compilation_unit() + 318 frame #24: 0x000000010214fcf1 gnat1`compile_file() + 233 frame #25: 0x00000001021535d0 gnat1`do_compile(bool) + 802 frame #26: 0x0000000102153b0f gnat1`toplev::main(int, char**) + 721 frame #27: 0x000000010293ad78 gnat1`main + 59 frame #28: 0x000000010536052e dyld`start + 462 (lldb) q