https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89673
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Yibiao Yang from comment #2) > (In reply to Martin Liška from comment #1) > > Confirmed, again an empty label, thus we generate not precise results. > > I am not sure whether this is really a bug or only default behavior of gcov. Technically it's a bug, but for me with a very low priority. > > Since these two labels are close to each other and the first label is > followed with empty statement, it is reasonable to combine these two labels > together. Thus, I am wondering this is the default behavior of gcov. Am I > right? As mentioned multiple times, GCC is optimizing code even with -O0 and so that the empty ';' statement would be optimized out.