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