Re: shadow variables - pg15 edition

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: shadow variables - pg15 edition
Дата
Msg-id 4139736.1665417982@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: shadow variables - pg15 edition  (Justin Pryzby <pryzby@telsasoft.com>)
Ответы Re: shadow variables - pg15 edition
Список pgsql-hackers
David Rowley <dgrowleyml@gmail.com> writes:
> On Fri, 7 Oct 2022 at 13:24, David Rowley <dgrowleyml@gmail.com> wrote:
>> Since I just committed the patch to fix the final warnings, I think we
>> should go ahead and commit the patch you wrote to add
>> -Wshadow=compatible-local to the standard build flags. I don't mind
>> doing this.

> Pushed.

The buildfarm's showing a few instances of this warning, which seem
to indicate that not all versions of the Perl headers are clean:

 fairywren     | 2022-10-10 09:03:50 | C:/Perl64/lib/CORE/cop.h:612:13: warning: declaration of 'av' shadows a previous
local[-Wshadow=compatible-local] 
 fairywren     | 2022-10-10 09:03:50 | C:/Perl64/lib/CORE/cop.h:612:13: warning: declaration of 'av' shadows a previous
local[-Wshadow=compatible-local] 
 fairywren     | 2022-10-10 09:03:50 | C:/Perl64/lib/CORE/cop.h:612:13: warning: declaration of 'av' shadows a previous
local[-Wshadow=compatible-local] 
 fairywren     | 2022-10-10 09:03:50 | C:/Perl64/lib/CORE/cop.h:612:13: warning: declaration of 'av' shadows a previous
local[-Wshadow=compatible-local] 
 fairywren     | 2022-10-10 09:03:50 | C:/Perl64/lib/CORE/cop.h:612:13: warning: declaration of 'av' shadows a previous
local[-Wshadow=compatible-local] 
 fairywren     | 2022-10-10 09:03:50 | C:/Perl64/lib/CORE/cop.h:612:13: warning: declaration of 'av' shadows a previous
local[-Wshadow=compatible-local] 
 snakefly      | 2022-10-10 08:21:05 | Util.c:457:14: warning: declaration of 'cv' shadows a parameter
[-Wshadow=compatible-local]

Before you ask:

fairywren: perl 5.24.3
snakefly: perl 5.16.3

which are a little old, but not *that* old.

Scraping the configure logs also shows that only half of the buildfarm
(exactly 50 out of 100 reporting animals) knows -Wshadow=compatible-local,
which suggests that we might see more of these if they all did.  On the
other hand, animals with newer compilers probably also have newer Perl
installations, so assuming that the Perl crew have kept this clean
recently, maybe not.

Not sure if this is problematic enough to justify removing the switch.
A plausible alternative is to have a few animals with known-clean Perl
installations add the switch manually (and use -Werror), so that we find
out about violations without having warnings in the face of developers
who can't fix them.  I'm willing to wait to see if anyone complains of
such warnings, though.

            regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Turn TransactionIdRetreat/Advance into inline functions
Следующее
От: Andres Freund
Дата:
Сообщение: Re: shadow variables - pg15 edition