Bruce Momjian <br...@momjian.us> writes: > On Sat, May 19, 2018 at 01:20:47AM +0000, Stephen Frost wrote: >> Commit da9b580 mistakenly put a system header before postgres.h (which >> includes c.h). That can cause portability issues and broke (at least) >> builds with older Windows compilers.
> I assume there is no way to add defined and checks to globals.c and c.h > to cause a compile error when this happens. Hm. You could imagine adding something like #ifdef some-relevant-macro #error include ordering problem, c.h must come before system headers #endif near the head of c.h. But I'm not sure how we'd get full coverage. The case presumably would only occur for off-the-beaten-path headers (this particular mistake was <sys/stat.h>), and there are lots of those. regards, tom lane