cleaning up plperl warnings - Mailing list pgsql-hackers

From Andrew Dunstan
Subject cleaning up plperl warnings
Date
Msg-id 43C18EAA.4060602@dunslane.net
Whole thread Raw
Responses Re: cleaning up plperl warnings  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
First, I cleaned up many of the warnings on my Windows box by running 
this to fix up comments in perl's config.h:
   sed -i -e 's,\(^/\*.*\)/\*,\1/ *,' config.h   unix2dos config.h

That puts a space between the / and * of what would otherwise be an 
embedded  comment start, and thus removes a huge number of warning messages.

Second, stopping the hijacking of  stdio and other things by the perl 
headers (see discussion elsewhere) cleans up most of the remaining messages.

Now, in src/include/port/win32.h we have this:

/** Supplement to <sys/types.h>.** Perl already has conflicting defines for uid_t and gid_t.*/
#ifndef PLPERL_HAVE_UID_GID
typedef int uid_t;
typedef int gid_t;
#else
/* These are redefined by perl. */
#define uid_t int
#define gid_t int
#endif


But in my perl installation, at least, these are not redefined at all, 
but typedef''d:

typedef long uid_t;
typedef long gid_t;

Which causes a couple of pretty obscure warnings:

C:/Perl/lib/CORE/win32.h:219: warning: useless keyword or type name in empty declaration
C:/Perl/lib/CORE/win32.h:219: warning: empty declaration
C:/Perl/lib/CORE/win32.h:220: warning: useless keyword or type name in empty declaration
C:/Perl/lib/CORE/win32.h:220: warning: empty declaration


Why do we need these defines at all? We don't use either of these types anywhere in the plperl code.

Is the community perl different in what it does here from what the ActiveState perl?

cheers

andrew




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: -HEAD compile failure on OpenBSD-current
Next
From: Tom Lane
Date:
Subject: lookup_rowtype_tupdesc considered harmful