https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83678

--- Comment #1 from Yibiao Yang <yangyibiao at nju dot edu.cn> ---
simpler reproducer:

void main() {
  while (1) {
    int a;
    &a;
    if (0)
      break;
    if (1)
      break;
  }
}

$ gcc-8 small.c -fprofile-arcs -ftest-coverage; ./a.out gcov-8 small.c; cat
small.c.gcov
-:    0:Source:small.c
        -:    0:Graph:small.gcno
        -:    0:Data:small.gcda
        -:    0:Runs:1
        -:    0:Programs:1
        1:    1:void main() {
        -:    2:  while (1) {
        -:    3:    int a;
        -:    4:    &a;
        -:    5:    if (0)
        1:    6:      break;
        -:    7:    if (1)
        1:    8:      break;
        -:    9:  }
        1:   10:}

Line #6 is wrongly marked as executed.

Reply via email to