From 0996e4be047fbf476dacea5ffad42cdd3a36b731 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 2 May 2018 16:00:54 -0400 Subject: [PATCH] Suppress some compiler warnings in plperl on Windows. Perl's XSUB.h header defines macros to replace libc functions. Our header port_win32.h does something similar earlier, so XSUB.h causes compiler warnings about macro redefinition. Undefine our macros before including XSUB.h. Thomas Munro Discussion: https://postgr.es/m/CAEepm%3D3%3DTDYEXUEcHpEx%2BTwc31wo7PA0oBAiNt6sWmq93MW02A%40mail.gmail.com --- src/pl/plperl/plperl.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/pl/plperl/plperl.h b/src/pl/plperl/plperl.h index c72c6ea59f..e6241f03ea 100644 --- a/src/pl/plperl/plperl.h +++ b/src/pl/plperl/plperl.h @@ -70,6 +70,31 @@ * before ppport.h, so use a #define flag to control inclusion here. */ #ifdef PG_NEED_PERL_XSUB_H +/* + * On Windows, port_win32.h defines macros for a lot of these same functions. + * To avoid compiler warnings when XSUB.h redefines them, #undef our versions. + */ +#ifdef WIN32 +#undef accept +#undef bind +#undef connect +#undef fopen +#undef kill +#undef listen +#undef lstat +#undef mkdir +#undef open +#undef putenv +#undef recv +#undef rename +#undef select +#undef send +#undef socket +#undef stat +#undef unlink +#undef vfprintf +#endif + #include "XSUB.h" #endif -- 2.40.0