]> granicus.if.org Git - postgresql/commitdiff
Suppress some compiler warnings in plperl on Windows.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 May 2018 20:00:54 +0000 (16:00 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 May 2018 20:00:54 +0000 (16:00 -0400)
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

index c72c6ea59fcc1c65096764cf29ca2af1300f1e7b..e6241f03ea00df6b48273215064964d305f73ab2 100644 (file)
  * 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