https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87291
--- Comment #13 from David Malcolm <dmalcolm at gcc dot gnu.org> --- An alternative approach that reduces the number of params by splitting it into successive calls: extern gcc_jit_extended_asm * gcc_jit_block_add_extended_asm (gcc_jit_block *block, int is_volatile, int is_inline, const char *asm_template); // location? gcc_jit_extended_asm_add_output_operand (gcc_jit_extended_asm *ext_asm, ...something...); gcc_jit_extended_asm_add_input_operand (gcc_jit_extended_asm *ext_asm, ...something...); gcc_jit_extended_asm_add_clobber (gcc_jit_extended_asm *ext_asm, const char *victim); gcc_jit_extended_asm_add_goto_label (gcc_jit_extended_asm *ext_asm, gcc_jit_block *block);