https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121084
Bug ID: 121084 Summary: [GCOV] Loops containing goto cause incorrect coverage statistics. Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: gcov-profile Assignee: unassigned at gcc dot gnu.org Reporter: njuwy at smail dot nju.edu.cn Target Milestone: --- gcc version: gcc version 16.0.0 20250704 (experimental) (GCC) option: --coverage -std=c2x $ cat test.c int main(void) { int i = 0; while (i < 2) { ++i; if (i == 1) { goto loop_start; } loop_start: continue; } return 0; } $ cat test.c.gcov 3: 1:int main(void) { 1: 2: int i = 0; 3: 3: while (i < 2) { 2: 4: ++i; 2: 5: if (i == 1) { 1: 6: goto loop_start; -: 7: } 1: 8: loop_start: 2: 9: continue; -: 10: } 1: 11: return 0; -: 12:} cov of line 1 and line 8 should be 1 (main() was only executed once) and 2. respectvely.