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

            Bug ID: 116539
           Summary: internal compiler error: in sh_print_operand, at
                    config/sh/sh.cc:1360
           Product: gcc
           Version: 14.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vegard.nossum at oracle dot com
  Target Milestone: ---

Test case:

void foo() {
    asm volatile (".ascii \"%d0\"" :: "i" (123));
}

Built with sh gcc 14.2.0, gives the following error:

during RTL pass: final
<source>: In function 'foo':
<source>:3:1: internal compiler error: in sh_print_operand, at
config/sh/sh.cc:1360
    3 | }
      | ^
0x17a73f8 internal_error(char const*, ...)
        ???:0
0x6cb3ba fancy_abort(char const*, int, char const*)
        ???:0
0x94d2e1 output_operand(rtx_def*, int)
        ???:0
0x94dbb3 output_asm_insn(char const*, rtx_def**)
        ???:0
0x94f608 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        ???:0
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Compiler returned: 1

Also see: https://godbolt.org/z/3Tfcdbd9s

I'm aware "d" is probably not a valid modifier for sh, but I'm guessing a more
descriptive error message would be appropriate.

I discovered this completely by accident and I don't actually need a fix for
this myself.
  • [Bug c/116539] New: internal ... vegard.nossum at oracle dot com via Gcc-bugs

Reply via email to