On Wed, Oct 12, 2016 at 08:14:58AM -0400, Nathan Sidwell wrote: > On 10/12/16 08:10, Marek Polacek wrote: > > While implementing a warning I noticed this in gcov-io.c: > > > > 187 else if (mode == 0) > > 188 { > > 189 struct stat st; > > 190 > > 191 if (fstat (fd, &st) < 0) > > 192 { > > 193 fclose (gcov_var.file); > > 194 gcov_var.file = 0; > > 195 return 0; > > 196 } > > 197 if (st.st_size != 0) > > 198 gcov_var.mode = 1; > > 199 else > > 200 gcov_var.mode = mode * 2 + 1; > > 201 } > > 202 else > > 203 gcov_var.mode = mode * 2 + 1; > > > > It seems that lines 198 and 200 do the same thing, at line 200 we know that > > mode == 0, so we just assign 1. Should we just remove the condition on > > line 197? > > ITYM lines 197 -> 203. I.e. remove the entire if that;s inside the 'mode == > 0' branch and make line 203 unconditional.
Yes, sorry for sloppy wording. I'm testing a patch. Thanks, Marek