On Sun, May 27, 2018 at 11:42 AM, Andrew Dunstan <andrew.duns...@2ndquadrant.com> wrote: > > > On 05/18/2018 02:02 PM, Andrew Dunstan wrote: >> >> >> These two small patches allow us to run "perl -cw" cleanly on all our perl >> code. >> >> >> One patch silences a warning from convutils.pl about the unportability of >> the literal 0x100000000. We've run for many years without this giving us a >> problem, so I think we can turn the warning off pretty safely. >> >> >> The other patch provides a dummy library that emulates just enough of the >> Win32 perl infrastructure to allow us to run these checks. That means that >> Unix-based developers who might want to make changes in the msvc code can >> actually run a check against their code without having to put it on a >> Windows machine. The invocation goes like this (to check Mkvcbuild.pl for >> example): >> >> >> PERL5LIB=src/tools/msvc/dummylib perl -cw src/tools/Mkvcbuild.pm >> >> >> This also allows us to check src/tools/win32tzlist.pl. >> >> >> In due course I'll submit a script to automate this syntax checking. >> >> >> > > > Here is the latest version of the second patch, this time with warnings > about redefinition of some subroutines suppressed. These mostly occur > because in a few cases we have multiple packages in a single file. > > This allows the following command to pass cleanly: > > { find . -type f -a -name '*.p[lm]' -print; find . -type f -perm > -100 -exec file {} \; -print | egrep -i ':.*perl[0-9]*\>' |cut -d: > -f1 ; } | sort -u | > > PERL5LIB=src/test/perl:src/test/ssl:src/bin/pg_rewind:src/backend/catalog:src/backend/utils/mb/Unicode:src/tools/msvc/dummylib:src/tools/msvc > xargs -L 1 perl -cw > >
Attached version actually does what's advertised above. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
perl-warnings-fix-msvc-3.patch
Description: Binary data