https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83992
--- Comment #7 from Jakub Jelinek ---
Corresponding C testcase would be something like:
static inline void
foo (void)
{
int j;
while (1)
for (j = 0; j < 0x7fff; ++j)
;
}
int
main ()
{
foo ();
}
at -O2 -g
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83992
--- Comment #6 from Ian Lance Taylor ---
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,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83992
Richard Biener changed:
What|Removed |Added
Keywords||wrong-debug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83992
Ian Lance Taylor changed:
What|Removed |Added
CC||ian at airs dot com
--- Comment #4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83992
--- Comment #3 from Uroš Bizjak ---
Ugh, the testcase works on x86 solely due to the fact that combine merges:
(insn 12 11 14 4 (parallel [
(set (reg:DI 87 [ ivtmp_1 ])
(plus:DI (reg:DI 87 [ ivtmp_1 ])
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83992
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #2