Re: headerscheck: Avoid mutual inclusion of pg_config.h and c.h
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-03-30T08:19:01Z
Lists: pgsql-hackers
On 23.03.26 09:50, Peter Eisentraut wrote: > Headers that c.h includes early should not have another header included > before them in the headerscheck test file, especially not c.h. > > A particular instance of a problem is that pg_config.h defines some > symbols that c.h later undefines in some cases, such as in the code > added by commit cd083b54bd67, but there were also some before that. This > only works correctly if pg_config.h is included first. > > This problem can currently be observed on CI. > > pg_config_manual.h and pg_config_os.h are closely related to pg_config.h > and should be treated the same way. > > postgres_ext.h is meant to be usable standalone, so testing it with c.h > included first defeats the point. > > c.h also includes port.h, but this patch leaves that alone, since port.h > does need some of c.h to be processed first. (But because of header > guards, testing port.h separately is probably ineffective.) This has been committed.
Commits
-
headerscheck: Avoid mutual inclusion of pg_config.h and c.h
- c546f008cddf 19 (unreleased) landed
-
Make typeof and typeof_unqual fallback definitions work on C++11
- cd083b54bd67 19 (unreleased) cited