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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
```
  char opoutput[MAX_RECOG_OPERANDS];
...
            else if (this_is_asm_operands && opnum >= insn_noperands)
              output_operand_lossage ("operand number out of range"); // Error
here
            else if (letter == 'l')
              output_asm_label (operands[opnum]);
            else if (letter == 'a')
              output_address (VOIDmode, operands[opnum]);
            else if (letter == 'c')
              {
                if (letter2 == 'c' || CONSTANT_ADDRESS_P (operands[opnum]))
                  output_addr_const (asm_out_file, operands[opnum]);
                else
                  output_operand (operands[opnum], 'c');
              }
            else if (letter == 'n')
              {
                if (CONST_INT_P (operands[opnum]))
                  fprintf (asm_out_file, HOST_WIDE_INT_PRINT_DEC,
                           - INTVAL (operands[opnum]));
                else
                  {
                    putc ('-', asm_out_file);
                    output_addr_const (asm_out_file, operands[opnum]);
                  }
              }
            else
              output_operand (operands[opnum], letter);

            if (!opoutput[opnum]) // no bounds check here.
              oporder[ops++] = opnum;

```

Reply via email to