https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95521
--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> --- (In reply to bouanto from comment #0) > The reproducer is very big, so tell me if you want me to try to make it > smaller. Yes please! The attachment reproduces the ICE for me, but is too big for me to work with. By adding this: gcc_jit_context_dump_to_file (ctxt_0x7feee9512e00, "/tmp/something.c", 1 /* update_locations */); to immediately after the create call code, it generates "source" locations in the generated /tmp/something.c. By poking in the debugger at the location info: (gdb) p loc->m_recording_loc->m_line $10 = 6773 it shows that the issue is triggered at line 6773, which is here in the dump: repeat_loop_body: *((unsigned char *)loop_var) = returnValue; intLocal = (unsigned long long)1; loop_var += *((unsigned char * *)&intLocal); <<<<< HERE goto repeat_loop_header; within extern bool _ZN4core3fmt3num12GenericRadix7fmt_int17h0643c6b8b66acb3dE (struct fmt::num::Binary * param, unsigned int param, struct fmt::Formatter * param) Is it possible for you to use the above info to make a small(er) reproducer? Thanks.