https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94276
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The difference seems to be locus, without -g the locus column is at A(); ^ here while with -g it is }) ^ here That is because we don't create a STATEMENT_LIST at all if it contains just a single stmt, but for -g there is also DEBUG_BEGIN_STMT. Bet we either should make sure that STATEMENT_LISTs containing only DEBUG_BEGIN_STMT and a single stmt shouldn't get location at all, or should have the same as the stmt they contain.