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

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
We'd need preprocessed source + full gcc command line to investigate particular
cases, but generally, gcc itself doesn't often know that the range is zero
length, it has two labels that mark the start and end of the range.  If it is
the same labels, obviously it knows it is zero length range and can drop it,
but if it is different labels, it is harder or impossible (consider e.g. inline
asm in between, the inline asm could expand to zero instructions or zero
instructions in the current section (.pushsection, emit something elsewhere,
.popsection), or even just asm ("") - gcc intentionally doesn't try to
understand what inline asm does.

Reply via email to