https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101773
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW --- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Vincent Lefèvre from comment #6) > Created attachment 51259 [details] > added missing error check on fclose in gcc/gcov-io.c > > Well, not all errors are detected. There is a missing test in gcc/gcov-io.c > for fclose (which does a write system call to flush the buffers): > > --- a/gcc/gcov-io.c > +++ b/gcc/gcov-io.c > @@ -199,7 +199,8 @@ gcov_close (void) > { > if (gcov_var.file) > { > - fclose (gcov_var.file); > + if (fclose (gcov_var.file)) > + gcov_var.error = 1; > gcov_var.file = 0; > } > gcov_var.mode = 0; > > (also in attachment). I've tested this patch, and it solves my problem: Great job! I was aware of the fclose, but didn't realize it fails during flushing. May I please install the patch on your behalf?