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

--- Comment #6 from Ian Lance Taylor <ian at airs dot com> ---
In this case the problem happens before the assembler.  The bad location
information shows up in reemit_insn_block_notes in gcc/final.c.  As the first
insn in the block has no location, reemit_insn_block_notes adds a
NOTE_INSN_BLOCK_BEG note before the second insn.  See the NOTE_INSN_BLOCK_BEG
in the RTL dump in the initial report.

Perhaps reemit_insn_block_notes should check for NOTE_INSN_BASIC_BLOCK as it
already checks for NOTE_INSN_BEGIN_STMT.  Although the comments for
NOTE_INSN_BASIC_BLOCK say that it can not be considered to be reliable at that
point.

Reply via email to