https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90197
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- For the for loop, we emit a DEBUG_BEGIN_STMT, which maps to DWARF: is_stmt 'A boolean indicating that the current instruction is a recommended breakpoint location. A recommended breakpoint location is intended to “represent” a line, a statement and/or a semantically distinct subpart of a statement.' I would think that for a C/C++ normal for loop we should emit a recommanded breakpoint location not just at the start of the whole statement (== at the start of the init expression), but also at the start of the increment expression and maybe also at the start of the condition (though not sure about that, perhaps it is enough to have just one on the increment expression and cover the condition through the recommended breakpoint location at the start of the whole for loop and before the increment expression. Wonder about other loop constructs too.