headerscheck: Avoid mutual inclusion of pg_config.h and c.h

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема headerscheck: Avoid mutual inclusion of pg_config.h and c.h
Дата
Msg-id 579116be-5016-4dbc-aed0-c06f8d9f5bbb@eisentraut.org
обсуждение
Ответы Re: headerscheck: Avoid mutual inclusion of pg_config.h and c.h
Список pgsql-hackers
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.)
Вложения

В списке pgsql-hackers по дате отправления: