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 ... Greetings, Andres Freund