https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107193
--- Comment #7 from Eugene Rozenfeld <erozen at microsoft dot com> --- No, locus won't be changed by the loop. But the purpose of the loop is to change statement locations (by adding discriminators) in this line: gimple_set_location (stmt, dloc); I think the code would more clear if this line location_t locus = last ? gimple_location (last) : UNKNOWN_LOCATION; were moved to after the loop. I'll include that change in the patch.