Re: A few warnings on Windows

Thomas Munro <thomas.munro@enterprisedb.com>

From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-05-02T05:41:32Z
Lists: pgsql-hackers

Attachments

On Wed, May 2, 2018 at 4:28 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thomas Munro <thomas.munro@enterprisedb.com> writes:
>> That compiles and runs the main checks (except tablespace which I
>> suppress) cleanly for me and I assume it really is using
>> stdbool.h this time.  Hopefully plperl will be happier this way.
>
> Pushed.  I was slightly tempted to add a static assertion that
> SIZEOF_BOOL == sizeof(bool), but there's not any obvious home
> for such a thing, and it's probably just useless worrying anyway.

Thanks.  Looking good on dory and woodlouse.

The only remaining warnings on those machines now come from the fact
that our port_win32.h and Perl's XSUB.h both want to define macros to
define macros for libc functions like mkdir etc.  plperl.h already
seems to deal with other similar kinds of ugliness.  Perhaps if
PG_NEED_PERL_XSUB_H is defined we should undefine port_win32.h's
libc-stealing macros before including it?  Either way XSUB.h's
definitions win.  That should get us to 0 warnings.  See attached (not
tested).

-- 
Thomas Munro
http://www.enterprisedb.com

Commits

  1. Suppress some compiler warnings in plperl on Windows.

  2. Fix compiler warning on Windows.

  3. Change SIZEOF_BOOL to 1 for Windows.

  4. Fix some assorted compiler warnings on Windows.

  5. Clean up warnings from -Wimplicit-fallthrough.