Re: Fix gcc warning in sync.c (usr/src/backend/storage/sync/sync.c)

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Ranier Vilela <ranier.vf@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-07-14T12:11:15Z
Lists: pgsql-hackers
On Mon, Jul 11, 2022 at 9:45 PM Kyotaro Horiguchi
<horikyota.ntt@gmail.com> wrote:
> At Mon, 11 Jul 2022 01:45:16 -0400, Tom Lane <tgl@sss.pgh.pa.us> wrote in
> > Kyotaro Horiguchi <horikyota.ntt@gmail.com> writes:
> > > At Sat, 9 Jul 2022 21:53:31 -0300, Ranier Vilela <ranier.vf@gmail.com> wrote in
> > >> 528 |    entry = (PendingUnlinkEntry *) lfirst(cell);
> >
> > > Actually, I already see the following line (maybe) at the place instead.
> > >> PendingUnlinkEntry *entry = (PendingUnlinkEntry *) lfirst(cell);
> >
> > Yeah, I see no line matching that in HEAD either.

Confusing report :-)

> > However, I do not much like the code at line 528, because its
> > "PendingUnlinkEntry *entry" is masking an outer variable
> > "PendingFsyncEntry *entry" from line 513.  We should rename
> > one or both variables to avoid that masking.

Fair point.

> I thought the same at the moment looking this.  In this case, changing
> entry->syncent, unl(del)lent works. But at the same time I don't think
> that can be strictly applied.

Yeah, let's rename both of them.  Done.

> So, for starters, I compiled the whole tree with -Wshadow=local. and I
> saw many warnings with it.  At a glance all of them are reasonably
> "fixed" but I don't think it is what we want...

Wow, yeah.



Commits

  1. Avoid shadowing a variable in sync.c.