Hi,
I am building pgpool2, and there is a snprintf.c, which use PG_STRERROR_R_BUFLEN, so I include header "postgresql/server/port.h".
It works well before. but after I upgrade postgresql from 15.5 to 16.2, I will met following error:
usr/include/postgresql/server/port.h:488:28: error: a parameter list without types is only allowed in a function definition 488 | typedef void (*pqsigfunc) (SIGNAL_ARGS); | ^
Since commit https://github.com/postgres/postgres/commit/b66fbd8afe6eb80e3e48495e002fda9aa92df583#diff-c6b9d5a7f7f2c4a96f8b818cf7845acda4cd6297bc2f7d7181be24d8e35dbf32,
SIGNAL_ARGS is used in port.h, it is defined in c.h, But port.h don't include c.h, and cause above error. Should we include c.h in port.h?
I also tried include c.h in port.h, but met another error when building pgpool2. I also reported this to pgpool2 community: https://www.pgpool.net/mantisbt/view.php?id=830
Could you help to give an suggestion about how to fix this issue?
Thanks
Changqing