https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119684

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
>         fatal_insn ("operands to %T/%t must be reg + const_int:", x);
> in avr, that does
>   error ("%s", _(msgid));
> so %T/%t are indeed passed through unmodified there.

Note, avr and microblaze are the only ones to use % in the fatal_insn
arguments:
config/avr/avr.cc:      fatal_insn ("operands to %T/%t must be reg +
const_int:", x);
config/microblaze/microblaze.cc:        fatal_insn ("PRINT_OPERAND, invalid
insn for %%C", op);
config/microblaze/microblaze.cc:        fatal_insn ("PRINT_OPERAND, invalid
insn for %%N", op);
The latter will print literal %%C or %%N.
Other targets are using something like
config/frv/frv.cc:      fatal_insn ("bad insn to frv_print_operand, 'e'
modifier:", x);
config/frv/frv.cc:        fatal_insn ("bad insn to frv_print_operand, 'F'
modifier:", x);
config/frv/frv.cc:        fatal_insn ("bad insn to frv_print_operand, 'f'
modifier:", x);
config/frv/frv.cc:      fatal_insn ("bad insn to frv_print_operand, 'g'
modifier:", x);
config/frv/frv.cc:      fatal_insn ("bad insn to frv_print_operand, 'L'
modifier:", x);
config/frv/frv.cc:        fatal_insn ("bad insn to frv_print_operand, 'M/N'
modifier:", x);
config/frv/frv.cc:        fatal_insn ("bad insn to frv_print_operand, 'O'
modifier:", x);
config/m32r/m32r.cc:      fatal_insn ("bad insn for 'A'", x);
config/mmix/mmix.cc:      fatal_insn ("MMIX Internal: Bad value for 'm', not a
CONST_INT",

Reply via email to