On 2022-08-26 Fr 10:47, Andres Freund wrote: > Hi, > > On 2022-08-26 21:39:05 +0700, John Naylor wrote: >> On Fri, Aug 26, 2022 at 9:27 PM Andres Freund <and...@anarazel.de> wrote: >>> Because perl, extremely unhelpfully, #defines free. Which, not surprisingly, >>> causes issues when including system headers referencing free as well. >>> >>> I don't really see a good solution to this other than hoisting the >>> mb/pg_wchar.h include out to before we include all the perl stuff. That does >>> fix the issue. >> We could also move is_valid_ascii somewhere else. It's only >> tangentially related to "wide chars" anyway. > Given the crazy defines of stuff like free, it seems like a good idea to have > a rule that no headers should be included after plperl.h with > PG_NEED_PERL_XSUB_H defined. It's not like there's not other chances of of > pulling in malloc.h from within pg_wchar.h somehow. > > It's a bit ugly to have the mb/pg_wchar.h in plperl.h instead of > plperl_helpers.h, but ... >
It's already included directly in plperl.c, so couldn't we just lift it directly into SPI.xs and Util.xs? cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com